D3DReflect 関数 (d3dcompiler.h)
リフレクション インターフェイスへのポインターを取得します。
構文
HRESULT D3DReflect(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in] REFIID pInterface,
[out] void **ppReflector
);
パラメーター
[in] pSrcData
種類: LPCVOID
コンパイルされた HLSL コードとしてのソース データへのポインター。
[in] SrcDataSize
種類: SIZE_T
pSrcData の長さ。
[in] pInterface
型: REFIID
使用する COM インターフェイスの参照 GUID。 たとえば、 IID_ID3D11ShaderReflection。
[out] ppReflector
型: void**
リフレクション インターフェイスへのポインター。
戻り値
型: HRESULT
Direct3D 11 のリターン コードのいずれかを返します。
解説
シェーダー コードには、リフレクション API を使用して検査できるメタデータが含まれています。
次のコードは、シェーダーから ID3D11ShaderReflection インターフェイスを取得する方法を示しています。
pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );
ID3D11ShaderReflection* pReflector = NULL;
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(),
IID_ID3D11ShaderReflection, (void**) &pReflector);
要件
対象プラットフォーム | Windows |
ヘッダー | d3dcompiler.h |
Library | D3dcompiler_47.lib |
[DLL] | D3dcompiler_47.dll |