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

ID3D12CompilerCacheSession

COM
IID5704e5e6-054b-4738-b661-7b0d68d8dde2継承元ID3D12CompilerFactoryChild自前メソッド開始 vtbl4

メソッド 9

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

vtbl 4 HRESULT FindGroup(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pGroupVersion)
pGroupKeyD3D12_COMPILER_CACHE_GROUP_KEY*in検索対象グループを識別するD3D12_COMPILER_CACHE_GROUP_KEYへのポインタ。
pGroupVersionDWORD*outoptional見つかったグループのバージョン番号を受け取るDWORDポインタ。
vtbl 5 HRESULT FindGroupValueKeys(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pExpectedGroupVersion, D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc, void* pContext)
pGroupKeyD3D12_COMPILER_CACHE_GROUP_KEY*in値キーを列挙する対象グループのキーへのポインタ。
pExpectedGroupVersionDWORD*inoptional期待するグループバージョンへのポインタ。NULLなら任意バージョンを許容する。
CallbackFuncD3D12CompilerCacheSessionGroupValueKeysFuncin各値キーごとに呼び出されるコールバック関数。
pContextvoid*inoutoptionalコールバックへそのまま渡されるユーザー定義コンテキスト。NULL可。
vtbl 6 HRESULT FindGroupValues(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pExpectedGroupVersion, D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags, D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc, void* pContext)
pGroupKeyD3D12_COMPILER_CACHE_GROUP_KEY*in値を列挙する対象グループのキーへのポインタ。
pExpectedGroupVersionDWORD*inoptional期待するグループバージョンへのポインタ。NULL可で任意バージョン。
ValueTypeFlagsD3D12_COMPILER_VALUE_TYPE_FLAGSin列挙する値の種類を絞るD3D12_COMPILER_VALUE_TYPE_FLAGSビットフラグ。
CallbackFuncD3D12CompilerCacheSessionGroupValuesFuncinoptional各値ごとに呼び出されるコールバック関数。
pContextvoid*inoutoptionalコールバックへ渡されるユーザー定義コンテキスト。NULL可。
vtbl 7 HRESULT FindValue(D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, D3D12_COMPILER_CACHE_TYPED_VALUE* pTypedValues, DWORD NumTypedValues, D3D12CompilerCacheSessionAllocationFunc pCallbackFunc, void* pContext)
pValueKeyD3D12_COMPILER_CACHE_VALUE_KEY*in検索対象の値を識別するD3D12_COMPILER_CACHE_VALUE_KEYへのポインタ。
pTypedValuesD3D12_COMPILER_CACHE_TYPED_VALUE*inout取得した型付き値を受け取るD3D12_COMPILER_CACHE_TYPED_VALUE配列へのポインタ。
NumTypedValuesDWORDinpTypedValues配列の要素数を示すDWORD。
pCallbackFuncD3D12CompilerCacheSessionAllocationFuncinoptional値格納用メモリ確保に使うアロケーションコールバック関数。
pContextvoid*inoutoptionalコールバックへ渡されるユーザー定義コンテキスト。NULL可。
vtbl 8 D3D12_APPLICATION_DESC* GetApplicationDesc()
vtbl 9 D3D12_COMPILER_TARGET GetCompilerTarget()
vtbl 10 D3D12_COMPILER_VALUE_TYPE_FLAGS GetValueTypes()
vtbl 11 HRESULT StoreGroupValueKeys(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD GroupVersion, D3D12_COMPILER_CACHE_VALUE_KEY* pValueKeys, DWORD NumValueKeys)
pGroupKeyD3D12_COMPILER_CACHE_GROUP_KEY*in格納先グループを識別するキーへのポインタ。
GroupVersionDWORDin格納するグループのバージョン番号を示すDWORD。
pValueKeysD3D12_COMPILER_CACHE_VALUE_KEY*inグループに属する値キーの配列へのポインタ。
NumValueKeysDWORDinpValueKeys配列の要素数を示すDWORD。
vtbl 12 HRESULT StoreValue(D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValues, DWORD NumTypedValues)
pValueKeyD3D12_COMPILER_CACHE_VALUE_KEY*in格納する値を識別するD3D12_COMPILER_CACHE_VALUE_KEYへのポインタ。
pTypedValuesD3D12_COMPILER_CACHE_TYPED_CONST_VALUE*in格納する型付き定数値のD3D12_COMPILER_CACHE_TYPED_CONST_VALUE配列ポインタ。
NumTypedValuesDWORDinpTypedValues配列の要素数を示すDWORD。

HSP用 COM定義

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

出力引数:
#define global IID_ID3D12CompilerCacheSession "{5704E5E6-054B-4738-B661-7B0D68D8DDE2}"
#usecom global ID3D12CompilerCacheSession IID_ID3D12CompilerCacheSession "{}"
#comfunc global ID3D12CompilerCacheSession_FindGroup            4 var,var
#comfunc global ID3D12CompilerCacheSession_FindGroupValueKeys   5 var,var,sptr,sptr
#comfunc global ID3D12CompilerCacheSession_FindGroupValues      6 var,var,int,sptr,sptr
#comfunc global ID3D12CompilerCacheSession_FindValue            7 var,var,int,sptr,sptr
#comfunc global ID3D12CompilerCacheSession_GetApplicationDesc   8
#comfunc global ID3D12CompilerCacheSession_GetCompilerTarget    9
#comfunc global ID3D12CompilerCacheSession_GetValueTypes        10
#comfunc global ID3D12CompilerCacheSession_StoreGroupValueKeys  11 var,int,var,int
#comfunc global ID3D12CompilerCacheSession_StoreValue           12 var,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。