Metodo ID3DXInclude::Open

Metodo implementato dall'utente per l'apertura e la lettura del contenuto di un file di shader #include.

Sintassi

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

Parametri

IncludeType [in]

Tipo: D3DXINCLUDE_TYPE

Percorso del file #include. Vedere D3DXINCLUDE_TYPE.

pFileName [in]

Tipo: LPCSTR

Nome del file #include.

pParentData [in]

Tipo: LPCVOID

Puntatore al contenitore che include il file #include. Il compilatore potrebbe passare NULL in pParentData. Per altre informazioni, vedere la sezione "Ricerca di file di inclusione" in Compilare un effetto (Direct3D 11).

ppData [out]

Tipo: LPCVOID*

Puntatore al buffer restituito contenente le direttive di inclusione. Questo puntatore rimane valido fino a quando non viene chiamato ID3DXInclude::Close .

pBytes [out]

Tipo: UINT*

Numero di byte restituiti in ppData.

Valore restituito

Tipo: HRESULT

Il metodo implementato dall'utente deve restituire S_OK. Se il callback non riesce durante la lettura del file #include, l'API che ha causato la chiamata al callback avrà esito negativo. I possibili valori sono i seguenti:

  • Lo shader HLSL avrà esito negativo in una delle funzioni D3DXCompileShader%.
  • Lo shader dell'assembly avrà esito negativo in una delle funzioni D3DXAssembleShader%.
  • L'effetto avrà esito negativo in una delle funzioni D3DXCreateEffect** o D3DXCreateEffectCompiler".)

Requisiti

Requisito Valore
Intestazione
D3DX9Shader.h
Libreria
D3dx9.lib

Vedi anche

ID3DXInclude

ID3DXInclude::Close