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 |