D3DX11PreprocessShaderFromMemory 函数

注意

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

注意

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

从内存创建着色器,而无需编译它。

语法

HRESULT D3DX11PreprocessShaderFromMemory(
  _In_        LPCSTR             pSrcData,
  _In_        SIZE_T             SrcDataSize,
  _In_        LPCSTR             pFileName,
  _In_  const D3D11_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        ID3DX11ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShaderText,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

参数

pSrcData [in]

类型: LPCSTR

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

SrcDataSize [in]

类型: SIZE_T

着色器的大小。

pFileName [in]

类型: LPCSTR

着色器的名称。

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 函数