D3DX11PreprocessShaderFromResource 函数

注意

D3DX (D3DX 9、D3DX 10 和 D3DX 11) 实用工具库已弃用Windows 8,不支持 Windows 应用商店应用。

注意

建议不要使用此函数,而是使用 D3DPreprocess API。

从资源创建着色器而不对其进行编译。

语法

HRESULT D3DX11PreprocessShaderFromResource(
  _In_        HMODULE            hModule,
  _In_        LPCTSTR            pResourceName,
  _In_        LPCTSTR            pSrcFileName,
  _In_  const D3D11_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        ID3DX11ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShaderText,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

参数

hModule [in]

类型: HMODULE

包含着色器的资源模块的句柄。 可以使用 GetModuleHandle 函数获取 HMODULE

pResourceName [in]

类型: LPCTSTR

包含着色器的 side hModule 中资源的名称。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,数据类型将解析为 LPCSTR。

pSrcFileName [in]

类型: LPCTSTR

可选。 效果文件名,仅用于错误消息。 可以为 NULL

pDefines [in]

类型: const D3D11_SHADER_MACRO*

以 NULL 结尾的着色器宏数组;将此设置为 NULL 可指定不指定宏。

pInclude [in]

类型: LPD3D10INCLUDE

指向 include 接口的指针;将此设置为 NULL 以指定没有包含文件。

pPump [in]

类型: ID3DX11ThreadPump*

指向线程泵接口的指针 (请参阅 ID3DX11ThreadPump 接口) 。 使用 NULL 指定此函数在完成之前不应返回。

ppShaderText [out]

类型: ID3D10Blob**

指向包含未编译着色器的内存的指针。

ppErrorMsgs [out]

类型: ID3D10Blob**

指向包含效果创建错误的内存的指针的地址(如果发生任何错误)。

pHResult [out]

类型: HRESULT*

指向返回值的指针。 可以为 NULL。 如果 pPump 不为 NULL,则 pHResult 必须是有效的内存位置,直到异步执行完成。

返回值

类型: HRESULT

返回值是 Direct3D 11 返回代码中列出的值之一。

要求

要求
标头
D3DX11async.h

D3DX11.lib

另请参阅

D3DX 函数