次の方法で共有


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

関連項目

関数