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

ID3D12InfoQueue1

COM
IID2852dd88-b484-4c0c-b6b1-67168500e600継承元ID3D12InfoQueue自前メソッド開始 vtbl38

メソッド 2

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

vtbl 38 HRESULT RegisterMessageCallback(D3D12MessageFunc CallbackFunc, D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, void* pContext, DWORD* pCallbackCookie)
CallbackFuncD3D12MessageFuncinメッセージ発生時に呼び出されるD3D12MessageFunc型のコールバック関数ポインター。
CallbackFilterFlagsD3D12_MESSAGE_CALLBACK_FLAGSinコールバックの呼び出し条件を制御するD3D12_MESSAGE_CALLBACK_FLAGS列挙のフラグ値。
pContextvoid*inoutコールバックに引き渡されるユーザー定義コンテキストへのポインター。NULL可。
pCallbackCookieDWORD*inout登録解除に用いる識別クッキーを受け取るDWORDへの出力ポインター。
vtbl 39 HRESULT UnregisterMessageCallback(DWORD CallbackCookie)
CallbackCookieDWORDin登録時に取得したコールバック識別クッキーを示すDWORD値。

HSP用 COM定義

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

出力引数:
#define global IID_ID3D12InfoQueue1 "{2852DD88-B484-4C0C-B6B1-67168500E600}"
#usecom global ID3D12InfoQueue1 IID_ID3D12InfoQueue1 "{}"
#comfunc global ID3D12InfoQueue1_RegisterMessageCallback    38 sptr,int,sptr,var
#comfunc global ID3D12InfoQueue1_UnregisterMessageCallback  39 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。