从内存创建效果。
语法
HRESULT D3DX10CreateEffectFromMemory(
  _In_        LPCVOID            pData,
  _In_        SIZE_T             DataLength,
  _In_        LPCSTR             pSrcFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        ID3D10Include      *pInclude,
  _In_        LPCSTR             pProfile,
  _In_        UINT               HLSLFlags,
  _In_        UINT               FXFlags,
  _In_        ID3D10Device       *pDevice,
  _In_        ID3D10EffectPool   *pEffectPool,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Effect       **ppEffect,
  _Out_       ID3D10Blob         **ppErrors,
  _Out_       HRESULT            *pHResult
);
参数
- 
pData [in] 
- 
类型: LPCVOID 指向内存中效果的指针。 
- 
DataLength [in] 
- 
类型: SIZE_T 内存中效果的大小。 
- 
pSrcFileName [in] 
- 
类型: LPCSTR 内存中效果文件的名称。 
- 
pDefines [in] 
- 
类型: const D3D_SHADER_MACRO* 以 NULL 结尾的着色器宏数组 (请参阅 D3D_SHADER_MACRO) ;将此设置为 NULL 可指定不指定宏。 
- 
pInclude [in] 
- 
类型: ID3D10Include* 指向包含接口的指针 (请参阅 ID3D10Include 接口) 。 此参数可以为 NULL。 
- 
pProfile [in] 
- 
类型: LPCSTR 一个指定 着色器配置文件或着色器模型的字符串。 
- 
HLSLFlags [in] 
- 
类型: UINT HLSL 编译选项 (请参阅 D3D10_SHADER常量) 。 
- 
FXFlags [in] 
- 
类型: UINT 效果编译选项 (请参阅 D3D10_EFFECT常量) 。 
- 
pDevice [in] 
- 
类型: ID3D10Device* 指向设备的指针 (看到将使用资源的 ID3D10Device 接口) 。 
- 
pEffectPool [in] 
- 
类型: ID3D10EffectPool* 指向效果池的指针 (请参阅 ID3D10EffectPool 接口) ,以便在效果之间共享变量。 
- 
pPump [in] 
- 
类型: ID3DX10ThreadPump* 指向线程泵接口的指针 (请参阅 ID3DX10ThreadPump 接口) 。 使用 NULL 指定此函数在完成之前不应返回。 
- 
ppEffect [out] 
- 
类型: ID3D10Effect** 指向效果 (的指针的地址,请参阅创建的 ID3D10Effect 接口) 。 
- 
ppErrors [out] 
- 
类型: ID3D10Blob** 指向内存 (指针的地址,请参阅包含效果编译错误的 ID3D10Blob 接口) (如果有)。 
- 
pHResult [out] 
- 
类型: HRESULT* 指向返回值的指针。 可以为 NULL。 如果 pPump 不为 NULL,则 pHResult 必须是有效的内存位置,直到异步执行完成。 
返回值
类型: HRESULT
返回值是 Direct3D 10 返回代码中列出的值之一。
要求
| 要求 | 值 | 
|---|---|
| 标头 | 
 | 
另请参阅