ID3DXInclude::Open 方法

使用者實作的方法,用於開啟和讀取著色器#include檔案的內容。

語法

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

參數

IncludeType [in]

類型: D3DXINCLUDE_TYPE

#include檔案的位置。 請參閱 D3DXINCLUDE_TYPE

pFileName [in]

類型: LPCSTR

#include檔案的名稱。

pParentData [in]

類型: LPCVOID

包含#include檔案之容器的指標。 編譯器可能會在 pParentData中傳遞 Null。 如需詳細資訊,請參閱 編譯效果 (Direct3D 11) 中的一節。

ppData [out]

類型: LPCVOID*

包含 include 指示詞之傳回緩衝區的指標。 此指標會維持有效狀態,直到呼叫 ID3DXInclude::Close 為止。

pBytes [out]

類型: UINT*

ppData 中傳回的位元組數目。

傳回值

類型: HRESULT

使用者實作的方法應該會傳回S_OK。 如果讀取#include檔案時回呼失敗,導致呼叫回呼的 API 將會失敗。 這是下列項目之一:

  • HLSL 著色器將會失敗其中一個 D3DXCompileShader** 函式。
  • 元件著色器將會失敗其中一個 D3DXAssembleShader** 函式。
  • 效果將會失敗其中一個 D3DXCreateEffect** 或 D3DXCreateEffectCompiler** 函式。

規格需求

需求
標頭
D3DX9Shader.h
程式庫
D3dx9.lib

另請參閱

ID3DXInclude

ID3DXInclude::Close