ホーム › Graphics.Direct3D12 › ID3D12ShaderReflectionVariable
ID3D12ShaderReflectionVariable
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 0 HRESULT GetDesc(D3D12_SHADER_VARIABLE_DESC* pDesc)
| pDesc | D3D12_SHADER_VARIABLE_DESC* | out | 変数の記述情報を受け取るD3D12_SHADER_VARIABLE_DESC構造体へのポインター。 |
vtbl 1 ID3D12ShaderReflectionType* GetType()
vtbl 2 ID3D12ShaderReflectionConstantBuffer* GetBuffer()
| uArrayIndex | DWORD | in | インターフェイススロットを取得する配列要素のインデックスを示すDWORD値。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12ShaderReflectionVariable "{8337A8A6-A216-444A-B2F4-314733A73AEA}" #usecom global ID3D12ShaderReflectionVariable IID_ID3D12ShaderReflectionVariable "{}" #comfunc global ID3D12ShaderReflectionVariable_GetDesc 0 var #comfunc global ID3D12ShaderReflectionVariable_GetType 1 #comfunc global ID3D12ShaderReflectionVariable_GetBuffer 2 #comfunc global ID3D12ShaderReflectionVariable_GetInterfaceSlot 3 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ID3D12ShaderReflectionVariable "{8337A8A6-A216-444A-B2F4-314733A73AEA}" #usecom global ID3D12ShaderReflectionVariable IID_ID3D12ShaderReflectionVariable "{}" #comfunc global ID3D12ShaderReflectionVariable_GetDesc 0 sptr #comfunc global ID3D12ShaderReflectionVariable_GetType 1 #comfunc global ID3D12ShaderReflectionVariable_GetBuffer 2 #comfunc global ID3D12ShaderReflectionVariable_GetInterfaceSlot 3 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。