Метод 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. Компилятор может передать значение NULL в pParentData. Дополнительные сведения см. в разделе "Поиск включаемого файла" статьи Компиляция эффекта (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