Win32 API 日本語リファレンス
ホームGaming › IGameExplorer

IGameExplorer

COM
IIDe7b2fb72-d728-49b3-a5f2-18ebf5f1349e継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT AddGame(LPWSTR bstrGDFBinaryPath, LPWSTR bstrGameInstallDirectory, GAME_INSTALL_SCOPE installScope, GUID* pguidInstanceID)
bstrGDFBinaryPathLPWSTRinゲーム定義ファイル(GDF)を含むバイナリのパスを指定する。
bstrGameInstallDirectoryLPWSTRinゲームのインストールディレクトリパスを指定する。
installScopeGAME_INSTALL_SCOPEin現在ユーザーか全ユーザーかを示すインストール範囲列挙値を指定する。
pguidInstanceIDGUID*inout登録に使うインスタンス GUID を指定する。GUID_NULL で自動生成され、生成値を受け取る。
vtbl 4 HRESULT RemoveGame(GUID guidInstanceID)
guidInstanceIDGUIDin削除対象ゲームを識別するインスタンス GUID を指定する。
vtbl 5 HRESULT UpdateGame(GUID guidInstanceID)
guidInstanceIDGUIDin更新対象ゲームを識別するインスタンス GUID を指定する。
vtbl 6 HRESULT VerifyAccess(LPWSTR bstrGDFBinaryPath, BOOL* pfHasAccess)
bstrGDFBinaryPathLPWSTRinアクセス確認対象の GDF バイナリのパスを指定する。
pfHasAccessBOOL*out現在のユーザーがアクセス権を持つかを受け取る出力先である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IGameExplorer "{E7B2FB72-D728-49B3-A5F2-18EBF5F1349E}"
#usecom global IGameExplorer IID_IGameExplorer "{9A5EA990-3034-4D6F-9128-01F3C61022BC}"
#comfunc global IGameExplorer_AddGame       3 wstr,wstr,int,var
#comfunc global IGameExplorer_RemoveGame    4 int
#comfunc global IGameExplorer_UpdateGame    5 int
#comfunc global IGameExplorer_VerifyAccess  6 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。