Freigeben über


ID3DXInclude::Open-Methode

Eine vom Benutzer implementierte Methode zum Öffnen und Lesen des Inhalts eines Shaders #include Datei.

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 #include-Datei. Siehe D3DXINCLUDE_TYPE.

pFileName [in]

Typ: LPCSTR

Name der #include-Datei.

pParentData [in]

Typ: LPCVOID

Zeiger auf den Container, der die #include Datei enthält. Der Compiler übergibt möglicherweise NULL in pParentData. Weitere Informationen finden Sie im Abschnitt "Suchen nach Eingeschlossenen Dateien" 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 #include-Datei fehlschlägt, schlägt die API fehl, die den Aufruf des Rückrufs verursacht hat. Folgende Werte sind möglich:

  • Der HLSL-Shader schlägt eine der D3DXCompileShader***-Funktionen fehl.
  • Der Assemblyshader schlägt eine der D3DXAssembleShader***-Funktionen fehl.
  • Der Effekt schlägt bei einer der Funktionen D3DXCreateEffect*** oder D3DXCreateEffectCompiler*** fehl.

Anforderungen

Anforderung Wert
Header
D3DX9Shader.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXInclude

ID3DXInclude::Close