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

ID3D10ShaderReflection1

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

公式ドキュメント

シェーダーリフレクションインターフェイスは、シェーダーの情報にアクセスします。(ID3D10ShaderReflection1)

解説(Remarks)

このインターフェイスには Windows Vista Service Pack 1 が必要です。

メソッド 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)

変数を名前で取得します。(ID3D10ShaderReflection1.GetVariableByName)

NameLPSTRin変数名を含む文字列へのポインター。

戻り値

型: ID3D10ShaderReflectionVariable*

ID3D10ShaderReflectionVariable インターフェイスインターフェイスを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 10 HRESULT GetResourceBindingDescByName(LPSTR Name, D3D10_SHADER_INPUT_BIND_DESC* pDesc)

リソースバインディングの記述を名前で取得します。

NameLPSTRin変数名を含む文字列へのポインター。
pDescD3D10_SHADER_INPUT_BIND_DESC*outリソースバインディング情報が格納される D3D10_SHADER_INPUT_BIND_DESC 構造体へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 11 HRESULT GetMovInstructionCount(DWORD* pCount)

Mov 命令の数を取得します。(ID3D10ShaderReflection1.GetMovInstructionCount)

pCountDWORD*outMov 命令の数へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 12 HRESULT GetMovcInstructionCount(DWORD* pCount)

Movc 命令の数を取得します。(ID3D10ShaderReflection1.GetMovcInstructionCount)

pCountDWORD*outMovc 命令の数へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 13 HRESULT GetConversionInstructionCount(DWORD* pCount)

シェーダーで使用される変換命令の数を取得します。

pCountDWORD*outメソッドが返るときに変換命令の数が格納される UINT へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 14 HRESULT GetBitwiseInstructionCount(DWORD* pCount)

ビット演算命令の数を取得します。(ID3D10ShaderReflection1.GetBitwiseInstructionCount)

pCountDWORD*outビット演算命令の数へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 15 HRESULT GetGSInputPrimitive(D3D_PRIMITIVE* pPrim)

ジオメトリシェーダーの入力プリミティブの記述を取得します。(ID3D10ShaderReflection1.GetGSInputPrimitive)

pPrimD3D_PRIMITIVE*out入力プリミティブの種類へのポインター(D3D10_PRIMITIVE を参照)。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 16 HRESULT IsLevel9Shader(BOOL* pbLevel9Shader)

シェーダーが Direct3D 9 モード上の Direct3D 10 でコンパイルされたかどうかを示します。

pbLevel9ShaderBOOL*outシェーダーが Direct3D 9 モード上の Direct3D 10 でコンパイルされた場合は true、それ以外の場合は false に設定される BOOL 変数へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

vtbl 17 HRESULT IsSampleFrequencyShader(BOOL* pbSampleFrequency)

ピクセルシェーダーがピクセル単位で実行されることを意図しているか、サンプル単位で実行されることを意図しているかを示します。

pbSampleFrequencyBOOL*outシェーダーがサンプル単位で実行されることを意図している場合は true、それ以外の場合は false に設定される BOOL 変数へのポインター。

戻り値

型: HRESULT

次の Direct3D 10 リターンコードのいずれかを返します。

解説(Remarks)

このメソッドには Windows Vista Service Pack 1 が必要です。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 方式にも切替可。