未解析的外部符号 _DEVPKEY_Device_BusReportedDeviceDesc

unresolved external symbol _DEVPKEY_Device_BusReportedDeviceDesc

对于连接到我的机器的设备,我想检索设备-属性 总线报告的设备描述。为此,我使用函数 SetupDiGetDeviceProperty of Setup API。在 devpkey.h 中我找到了定义 DEVPKEY_Device_BusReportedDeviceDesc.

但是,如果我使用 DEVPKEY_Device_BusReportedDeviceDesc,我会在链接时收到 未解析的外部符号 _DEVPKEY_Device_BusReportedDeviceDesc

这是我的代码(仅包含用于重现问题的最少代码):

#include "stdafx.h"

#include <Windows.h>
#include <devpropdef.h>
#include <devpkey.h>

int main()
{
    DEVPROPKEY x = DEVPKEY_Device_BusReportedDeviceDesc;

    return 0;
}

这是完整的错误代码:

error LNK2001: unresolved external symbol _DEVPKEY_Device_BusReportedDeviceDesc

我该如何解决这个问题?

要解决此问题,您需要包含 initguid.h。这包括必须在 devpropdef.hdevpkey.h.

之前
#include "stdafx.h"
#include <initguid.h>   // include before devpropdef.h
#include <Windows.h>
#include <devpropdef.h>
#include <devpkey.h>

int main()
{
    DEVPROPKEY x = DEVPKEY_Device_BusReportedDeviceDesc;

    return 0;
}