D3DReflect

反射インターフェイスへのポインターを取得します。

HRESULT 
D3DReflect(
  LPCVOID pSrcData,
  SIZE_T SrcDataSize,
  REFIID pInterface,
  void **ppReflector
);

パラメータ

  • pSrcData
    コンパイル済みの HLSL コードとしてのソース データへのポインターです。
  • SrcDataSize
    pSrcData の長さです。
  • pInterface
    使用する COM インターフェイスの参照 GUID です。たとえば、IID_ID3D11ShaderReflectionIID_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 内容

関連項目

関数