Freigeben über


D3DReflect-Funktion (d3dcompiler.h)

Ruft einen Zeiger auf eine Reflektionsschnittstelle ab.

Syntax

HRESULT D3DReflect(
  [in]  LPCVOID pSrcData,
  [in]  SIZE_T  SrcDataSize,
  [in]  REFIID  pInterface,
  [out] void    **ppReflector
);

Parameter

[in] pSrcData

Typ: LPCVOID

Ein Zeiger auf die Quelldaten als kompilierten HLSL-Code.

[in] SrcDataSize

Typ: SIZE_T

Länge von pSrcData.

[in] pInterface

Typ: REFIID

Die Referenz-GUID der zu verwendenden COM-Schnittstelle. Beispiel: IID_ID3D11ShaderReflection.

[out] ppReflector

Typ: void**

Ein Zeiger auf eine Reflexionsschnittstelle.

Rückgabewert

Typ: HRESULT

Gibt einen der Direct3D 11-Rückgabecodes zurück.

Hinweise

Shadercode enthält Metadaten, die mithilfe der Reflektions-APIs überprüft werden können.

Der folgende Code veranschaulicht das Abrufen einer ID3D11ShaderReflection-Schnittstelle aus einem Shader.


pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
                               pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );

ID3D11ShaderReflection* pReflector = NULL; 
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            IID_ID3D11ShaderReflection, (void**) &pReflector);

Anforderungen

   
Zielplattform Windows
Kopfzeile d3dcompiler.h
Bibliothek D3dcompiler_47.lib
DLL D3dcompiler_47.dll

Siehe auch

Funktionen