ホーム › Graphics.Direct3D12 › ID3D12CompilerCacheSession
ID3D12CompilerCacheSession
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 4 HRESULT FindGroup(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pGroupVersion)
| pGroupKey | D3D12_COMPILER_CACHE_GROUP_KEY* | in | 検索対象グループを識別するD3D12_COMPILER_CACHE_GROUP_KEYへのポインタ。 |
| pGroupVersion | DWORD* | outoptional | 見つかったグループのバージョン番号を受け取るDWORDポインタ。 |
vtbl 5 HRESULT FindGroupValueKeys(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pExpectedGroupVersion, D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc, void* pContext)
| pGroupKey | D3D12_COMPILER_CACHE_GROUP_KEY* | in | 値キーを列挙する対象グループのキーへのポインタ。 |
| pExpectedGroupVersion | DWORD* | inoptional | 期待するグループバージョンへのポインタ。NULLなら任意バージョンを許容する。 |
| CallbackFunc | D3D12CompilerCacheSessionGroupValueKeysFunc | in | 各値キーごとに呼び出されるコールバック関数。 |
| pContext | void* | inoutoptional | コールバックへそのまま渡されるユーザー定義コンテキスト。NULL可。 |
vtbl 6 HRESULT FindGroupValues(D3D12_COMPILER_CACHE_GROUP_KEY* pGroupKey, DWORD* pExpectedGroupVersion, D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags, D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc, void* pContext)
| pGroupKey | D3D12_COMPILER_CACHE_GROUP_KEY* | in | 値を列挙する対象グループのキーへのポインタ。 |
| pExpectedGroupVersion | DWORD* | inoptional | 期待するグループバージョンへのポインタ。NULL可で任意バージョン。 |
| ValueTypeFlags | D3D12_COMPILER_VALUE_TYPE_FLAGS | in | 列挙する値の種類を絞るD3D12_COMPILER_VALUE_TYPE_FLAGSビットフラグ。 |
| CallbackFunc | D3D12CompilerCacheSessionGroupValuesFunc | inoptional | 各値ごとに呼び出されるコールバック関数。 |
| pContext | void* | inoutoptional | コールバックへ渡されるユーザー定義コンテキスト。NULL可。 |
vtbl 7 HRESULT FindValue(D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, D3D12_COMPILER_CACHE_TYPED_VALUE* pTypedValues, DWORD NumTypedValues, D3D12CompilerCacheSessionAllocationFunc pCallbackFunc, void* pContext)
| pValueKey | D3D12_COMPILER_CACHE_VALUE_KEY* | in | 検索対象の値を識別するD3D12_COMPILER_CACHE_VALUE_KEYへのポインタ。 |
| pTypedValues | D3D12_COMPILER_CACHE_TYPED_VALUE* | inout | 取得した型付き値を受け取るD3D12_COMPILER_CACHE_TYPED_VALUE配列へのポインタ。 |
| NumTypedValues | DWORD | in | pTypedValues配列の要素数を示すDWORD。 |
| pCallbackFunc | D3D12CompilerCacheSessionAllocationFunc | inoptional | 値格納用メモリ確保に使うアロケーションコールバック関数。 |
| pContext | void* | 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)
| pGroupKey | D3D12_COMPILER_CACHE_GROUP_KEY* | in | 格納先グループを識別するキーへのポインタ。 |
| GroupVersion | DWORD | in | 格納するグループのバージョン番号を示すDWORD。 |
| pValueKeys | D3D12_COMPILER_CACHE_VALUE_KEY* | in | グループに属する値キーの配列へのポインタ。 |
| NumValueKeys | DWORD | in | pValueKeys配列の要素数を示すDWORD。 |
vtbl 12 HRESULT StoreValue(D3D12_COMPILER_CACHE_VALUE_KEY* pValueKey, D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* pTypedValues, DWORD NumTypedValues)
| pValueKey | D3D12_COMPILER_CACHE_VALUE_KEY* | in | 格納する値を識別するD3D12_COMPILER_CACHE_VALUE_KEYへのポインタ。 |
| pTypedValues | D3D12_COMPILER_CACHE_TYPED_CONST_VALUE* | in | 格納する型付き定数値のD3D12_COMPILER_CACHE_TYPED_CONST_VALUE配列ポインタ。 |
| NumTypedValues | DWORD | in | pTypedValues配列の要素数を示す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 指定が可能。#define global IID_ID3D12CompilerCacheSession "{5704E5E6-054B-4738-B661-7B0D68D8DDE2}" #usecom global ID3D12CompilerCacheSession IID_ID3D12CompilerCacheSession "{}" #comfunc global ID3D12CompilerCacheSession_FindGroup 4 sptr,sptr #comfunc global ID3D12CompilerCacheSession_FindGroupValueKeys 5 sptr,sptr,sptr,sptr #comfunc global ID3D12CompilerCacheSession_FindGroupValues 6 sptr,sptr,int,sptr,sptr #comfunc global ID3D12CompilerCacheSession_FindValue 7 sptr,sptr,int,sptr,sptr #comfunc global ID3D12CompilerCacheSession_GetApplicationDesc 8 #comfunc global ID3D12CompilerCacheSession_GetCompilerTarget 9 #comfunc global ID3D12CompilerCacheSession_GetValueTypes 10 #comfunc global ID3D12CompilerCacheSession_StoreGroupValueKeys 11 sptr,int,sptr,int #comfunc global ID3D12CompilerCacheSession_StoreValue 12 sptr,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。