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

ID3D11Multithread

COM
IID9b7e4e00-342c-4106-a19f-4f2704f689f0継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 void Enter()
vtbl 4 void Leave()
vtbl 5 BOOL SetMultithreadProtected(BOOL bMTProtect)
bMTProtectBOOLinマルチスレッド保護(クリティカルセクションによる排他)を有効化するならTRUEを指定する。
vtbl 6 BOOL GetMultithreadProtected()

HSP用 COM定義

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

#define global IID_ID3D11Multithread "{9B7E4E00-342C-4106-A19F-4F2704F689F0}"
#usecom global ID3D11Multithread IID_ID3D11Multithread "{}"
#comfunc global ID3D11Multithread_Enter                    3
#comfunc global ID3D11Multithread_Leave                    4
#comfunc global ID3D11Multithread_SetMultithreadProtected  5 int
#comfunc global ID3D11Multithread_GetMultithreadProtected  6
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。