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
라이브러리 D3dcompiler_47.lib
DLL D3dcompiler_47.dll

참조

함수