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

ID3D12Device9

COM
IID4c80e962-f032-4f60-bc9e-ebc2cfa1d83c継承元ID3D12Device8自前メソッド開始 vtbl73

メソッド 3

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

vtbl 73 HRESULT CreateShaderCacheSession(D3D12_SHADER_CACHE_SESSION_DESC* pDesc, GUID* riid, void** ppvSession)
pDescD3D12_SHADER_CACHE_SESSION_DESC*in作成するシェーダーキャッシュセッションの記述子。識別子やモードを指定する。
riidGUID*in取得するインターフェイスのGUID。通常はID3D12ShaderCacheSessionのIIDを指定する。
ppvSessionvoid**outoptional生成されたシェーダーキャッシュセッションを受け取る出力ポインタ。NULL可。
vtbl 74 HRESULT ShaderCacheControl(D3D12_SHADER_CACHE_KIND_FLAGS Kinds, D3D12_SHADER_CACHE_CONTROL_FLAGS Control)
KindsD3D12_SHADER_CACHE_KIND_FLAGSin制御対象とするキャッシュの種類を示すフラグ(ドライバ・PSO等)。
ControlD3D12_SHADER_CACHE_CONTROL_FLAGSin対象キャッシュへ適用する制御操作(無効化・有効化・クリア等)を示すフラグ。
vtbl 75 HRESULT CreateCommandQueue1(D3D12_COMMAND_QUEUE_DESC* pDesc, GUID* CreatorID, GUID* riid, void** ppCommandQueue)
pDescD3D12_COMMAND_QUEUE_DESC*in作成するコマンドキューの記述子。種別や優先度を指定する。
CreatorIDGUID*inキューの作成者を識別するGUID。同一識別子間でのみ共有を許可する。
riidGUID*in取得するインターフェイスのGUID。通常はID3D12CommandQueueのIIDを指定する。
ppCommandQueuevoid**out生成されたコマンドキューを受け取る出力ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ID3D12Device9 "{4C80E962-F032-4F60-BC9E-EBC2CFA1D83C}"
#usecom global ID3D12Device9 IID_ID3D12Device9 "{}"
#comfunc global ID3D12Device9_CreateShaderCacheSession  73 var,var,sptr
#comfunc global ID3D12Device9_ShaderCacheControl        74 int,int
#comfunc global ID3D12Device9_CreateCommandQueue1       75 var,var,var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。