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 |