ID3D11Linker::Link 方法 (d3d11shader.h)

链接着色器并生成 Direct3D 运行时可以使用的着色器 Blob。

语法

HRESULT Link(
  [in]            ID3D11ModuleInstance *pEntry,
  [in]            LPCSTR               pEntryName,
  [in]            LPCSTR               pTargetName,
  [in]            UINT                 uFlags,
  [out]           ID3DBlob             **ppShaderBlob,
  [out, optional] ID3DBlob             **ppErrorBuffer
);

参数

[in] pEntry

类型: ID3D11ModuleInstance*

指向要从其链接的着色器模块实例 的 ID3D11ModuleInstance 接口的指针。

[in] pEntryName

类型: LPCSTR

要从中链接的着色器模块实例的名称。

[in] pTargetName

类型: LPCSTR

生成的着色器 Blob 的名称。

[in] uFlags

类型: UINT

保留。

[out] ppShaderBlob

类型: ID3DBlob**

指向变量的指针,该变量接收指向 ID3DBlob 接口的指针,可用于访问已编译的着色器代码。

[out, optional] ppErrorBuffer

类型: ID3DBlob**

指向变量的指针,该变量接收指向 ID3DBlob 接口的指针,可用于访问编译器错误消息。

返回值

类型: HRESULT

如果成功,则返回S_OK;否则,返回 Direct3D 11 返回代码之一。

要求

要求
目标平台 Windows
标头 d3d11shader.h
Library D3DCompiler.lib
DLL D3DCompiler_47.dll

另请参阅

ID3D11Linker