D3DReflect
反射インターフェイスへのポインターを取得します。
HRESULT
D3DReflect(
LPCVOID pSrcData,
SIZE_T SrcDataSize,
REFIID pInterface,
void **ppReflector
);
パラメータ
- pSrcData
コンパイル済みの HLSL コードとしてのソース データへのポインターです。 - SrcDataSize
pSrcData の長さです。 - pInterface
使用する COM インターフェイスの参照 GUID です。たとえば、IID_ID3D11ShaderReflection や IID_ID3D10ShaderReflection です。 - ppReflector
反射インターフェイスへのポインターです。
戻り値
次のいずれかの Direct3D 10 のリターン コードを返します。
解説
シェーダー コードには、反射 API を使用して検査できるメタデータが含まれています。
次のコードは、シェーダーから ID3D11ShaderReflection インターフェイスを取得する方法を示しています。
pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader ); ID3D11ShaderReflection* pReflector = NULL; D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), IID_ID3D11ShaderReflection, (void**) &pReflector);
要件
ヘッダー: D3Dcompiler.h 宣言
ライブラリ: D3dcompiler_xx.dll 内容