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

ID3D10ShaderReflection1

COM
IIDc3457783-a846-47ce-9520-cea6f66e7447継承元IUnknown自前メソッド開始 vtbl3

メソッド 15

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

vtbl 3 HRESULT GetDesc(D3D10_SHADER_DESC* pDesc)
pDescD3D10_SHADER_DESC*outシェーダー全体の記述を受け取る D3D10_SHADER_DESC 構造体へのポインタ。
vtbl 4 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByIndex(DWORD Index)
IndexDWORDin取得する定数バッファを示すゼロ基点のインデックス。
vtbl 5 ID3D10ShaderReflectionConstantBuffer* GetConstantBufferByName(LPSTR Name)
NameLPSTRin取得する定数バッファの名前を指す NULL 終端 ANSI 文字列。
vtbl 6 HRESULT GetResourceBindingDesc(DWORD ResourceIndex, D3D10_SHADER_INPUT_BIND_DESC* pDesc)
ResourceIndexDWORDinバインドされたリソースを示すゼロ基点のインデックス。
pDescD3D10_SHADER_INPUT_BIND_DESC*outリソースのバインド情報を受け取る D3D10_SHADER_INPUT_BIND_DESC 構造体へのポインタ。
vtbl 7 HRESULT GetInputParameterDesc(DWORD ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc)
ParameterIndexDWORDin入力シグネチャ要素を示すゼロ基点のインデックス。
pDescD3D10_SIGNATURE_PARAMETER_DESC*out入力パラメータの記述を受け取る D3D10_SIGNATURE_PARAMETER_DESC 構造体へのポインタ。
vtbl 8 HRESULT GetOutputParameterDesc(DWORD ParameterIndex, D3D10_SIGNATURE_PARAMETER_DESC* pDesc)
ParameterIndexDWORDin出力シグネチャ要素を示すゼロ基点のインデックス。
pDescD3D10_SIGNATURE_PARAMETER_DESC*out出力パラメータの記述を受け取る D3D10_SIGNATURE_PARAMETER_DESC 構造体へのポインタ。
vtbl 9 ID3D10ShaderReflectionVariable* GetVariableByName(LPSTR Name)
NameLPSTRin取得するシェーダー変数の名前を指す NULL 終端 ANSI 文字列。
vtbl 10 HRESULT GetResourceBindingDescByName(LPSTR Name, D3D10_SHADER_INPUT_BIND_DESC* pDesc)
NameLPSTRin情報を取得するリソースの名前を指す NULL 終端 ANSI 文字列。
pDescD3D10_SHADER_INPUT_BIND_DESC*outリソースのバインド情報を受け取る D3D10_SHADER_INPUT_BIND_DESC 構造体へのポインタ。
vtbl 11 HRESULT GetMovInstructionCount(DWORD* pCount)
pCountDWORD*outシェーダー内の mov 命令数を受け取る DWORD へのポインタ。
vtbl 12 HRESULT GetMovcInstructionCount(DWORD* pCount)
pCountDWORD*outシェーダー内の movc 命令数を受け取る DWORD へのポインタ。
vtbl 13 HRESULT GetConversionInstructionCount(DWORD* pCount)
pCountDWORD*out型変換命令の数を受け取る DWORD へのポインタ。
vtbl 14 HRESULT GetBitwiseInstructionCount(DWORD* pCount)
pCountDWORD*outビット演算命令の数を受け取る DWORD へのポインタ。
vtbl 15 HRESULT GetGSInputPrimitive(D3D_PRIMITIVE* pPrim)
pPrimD3D_PRIMITIVE*outジオメトリシェーダーの入力プリミティブ種別を受け取る D3D_PRIMITIVE 値へのポインタ。
vtbl 16 HRESULT IsLevel9Shader(BOOL* pbLevel9Shader)
pbLevel9ShaderBOOL*outDirect3D9 レベルのシェーダーか否かを受け取る BOOL へのポインタ。TRUE で該当する。
vtbl 17 HRESULT IsSampleFrequencyShader(BOOL* pbSampleFrequency)
pbSampleFrequencyBOOL*outサンプル周波数で実行されるシェーダーか否かを受け取る BOOL へのポインタ。TRUE で該当する。

HSP用 COM定義

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

出力引数:
#define global IID_ID3D10ShaderReflection1 "{C3457783-A846-47CE-9520-CEA6F66E7447}"
#usecom global ID3D10ShaderReflection1 IID_ID3D10ShaderReflection1 "{}"
#comfunc global ID3D10ShaderReflection1_GetDesc                        3 var
#comfunc global ID3D10ShaderReflection1_GetConstantBufferByIndex       4 int
#comfunc global ID3D10ShaderReflection1_GetConstantBufferByName        5 str
#comfunc global ID3D10ShaderReflection1_GetResourceBindingDesc         6 int,var
#comfunc global ID3D10ShaderReflection1_GetInputParameterDesc          7 int,var
#comfunc global ID3D10ShaderReflection1_GetOutputParameterDesc         8 int,var
#comfunc global ID3D10ShaderReflection1_GetVariableByName              9 str
#comfunc global ID3D10ShaderReflection1_GetResourceBindingDescByName   10 str,var
#comfunc global ID3D10ShaderReflection1_GetMovInstructionCount         11 var
#comfunc global ID3D10ShaderReflection1_GetMovcInstructionCount        12 var
#comfunc global ID3D10ShaderReflection1_GetConversionInstructionCount  13 var
#comfunc global ID3D10ShaderReflection1_GetBitwiseInstructionCount     14 var
#comfunc global ID3D10ShaderReflection1_GetGSInputPrimitive            15 var
#comfunc global ID3D10ShaderReflection1_IsLevel9Shader                 16 var
#comfunc global ID3D10ShaderReflection1_IsSampleFrequencyShader        17 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。