在使用Agility SDK时,按照文档配置完成之后,不能识别CLSID_D3D12DSRDeviceFactory

Vanilla with Ice 0 信誉分
2024-12-18T08:54:13.16+00:00

问题代码如下:

ATL::CComPtr<ID3D12DSRDeviceFactory> pDSRDeviceFactory;

D3D12GetInterface(CLSID_D3D12DSRDeviceFactory, IID_PPV_ARGS(&pDSRDeviceFactory));

错误输出如下:

错误 LNK2001 无法解析的外部符号 CLSID_D3D12DSRDeviceFactory

下列d3d12.h文档中列出的宏,除了CLSID_D3D12DSRDeviceFactory均能正常调用:

DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);

DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);

DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);

DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);

DEFINE_GUID(CLSID_D3D12DeviceFactory, 0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55);

DEFINE_GUID(CLSID_D3D12DSRDeviceFactory, 0xbb6dd27e, 0x94a9, 0x41a6, 0x9f, 0x1b, 0x13, 0x37, 0x72, 0x17, 0x24, 0x28);

C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
158 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Minxin Yu 12,351 信誉分 Microsoft 供应商
    2024-12-19T06:19:45.7366667+00:00

    您好,

    系统文件中有多个d3d12.h,

    DEFINE_GUID(CLSID_D3D12DSRDeviceFactory, 0xbb6dd27e, 0x94a9, 0x41a6, 0x9f, 0x1b, 0x13, 0x37, 0x72, 0x17, 0x24, 0x28);

    位于nuget包1.715.1-preview中,尝试指定明确路径的d3d12.h。

    关于Agility SDK的问题,您可以在GitHub相关代码仓库进行询问。
    https://github.com/microsoft/DirectX-Specs


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。


你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。