ID3DXInclude::Open-Methode

Eine vom Benutzer implementierte Methode zum Öffnen und Lesen des Inhalts einer # Shader-Includedatei.

Syntax

HRESULT Open(
  [in]  D3DXINCLUDE_TYPE IncludeType,
  [in]  LPCSTR           pFileName,
  [in]  LPCVOID          pParentData,
  [out] LPCVOID          *ppData,
  [out] UINT             *pBytes
);

Parameter

IncludeType [ In]

Typ: D3DXINCLUDE _ TYPE

Der Speicherort der # Includedatei. Siehe D3DXINCLUDE _ TYPE.

pFileName [ In]

Typ: LPCSTR

Name der # Includedatei.

pParentData [ In]

Typ: LPCVOID

Zeiger auf den Container, der die # Includedatei enthält. Der Compiler kann NULL in pParentData übergeben. Weitere Informationen finden Sie im Abschnitt "Suchen nach Includedateien" unter Kompilieren eines Effekts (Direct3D 11).

ppData [ out]

Typ: LPCVOID*

Zeiger auf den zurückgegebenen Puffer, der die Include-Direktiven enthält. Dieser Zeiger bleibt gültig, bis ID3DXInclude::Close aufgerufen wird.

pBytes [ out]

Typ: UINT*

Anzahl der in ppData zurückgegebenen Bytes.

Rückgabewert

Typ: HRESULT

Die vom Benutzer implementierte Methode sollte S _ OK zurückgeben. Wenn der Rückruf beim Lesen der Includedatei fehlschlägt, schlägt die API fehl, die den Aufruf des # Rückrufs verursacht hat. Folgende Werte sind möglich:

  • Der HLSL-Shader kann nicht mit einer der D3DXCompileShader-Funktionen * * * verwendet werden.
  • Der Assemblyshader kann nicht mit einer der D3DXAssembleShader-Funktionen * * * verwendet werden.
  • Die Auswirkung tritt bei einer der Funktionen D3DXCreateEffect * * * oder D3DXCreateEffectCompiler * * * auf.

Anforderungen

Anforderung Wert
Header
D3DX9Shader.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXInclude

ID3DXInclude::Close