Метод 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***.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел