Win32 API 日本語リファレンス
ホームGraphics.Direct3D9 › IDirect3DQuery9

IDirect3DQuery9

COM
IIDd9771460-a695-4f26-bbd3-27b840b541cc継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT GetDevice(IDirect3DDevice9** ppDevice)
ppDeviceIDirect3DDevice9**outこのクエリを作成したデバイスのポインタを受け取る出力。
vtbl 4 D3DQUERYTYPE GetType()
vtbl 5 DWORD GetDataSize()
vtbl 6 HRESULT Issue(DWORD dwIssueFlags)
dwIssueFlagsDWORDinクエリ発行種別を示すフラグ。D3DISSUE_BEGINまたはENDを指定する。
vtbl 7 HRESULT GetData(void* pData, DWORD dwSize, DWORD dwGetDataFlags)
pDatavoid*inoutクエリ結果を受け取るバッファへのポインタ。NULLで完了確認のみ。
dwSizeDWORDinpDataバッファのサイズ(バイト)。
dwGetDataFlagsDWORDin取得動作を示すフラグ。D3DGETDATA_FLUSHなど。

HSP用 COM定義

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

#define global IID_IDirect3DQuery9 "{D9771460-A695-4F26-BBD3-27B840B541CC}"
#usecom global IDirect3DQuery9 IID_IDirect3DQuery9 "{}"
#comfunc global IDirect3DQuery9_GetDevice    3 sptr
#comfunc global IDirect3DQuery9_GetType      4
#comfunc global IDirect3DQuery9_GetDataSize  5
#comfunc global IDirect3DQuery9_Issue        6 int
#comfunc global IDirect3DQuery9_GetData      7 sptr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。