You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CM_Get_DevNode_Property时DEVPKEY_Device_DeviceDesc未声明如何解决?

编译报错DEVPKEY_Device_DeviceDesc未声明的解决步骤
  • 补充包含缺失的头文件
    DEVPKEY_前缀的设备属性常量定义不在cfgmgr32.h中,需要额外引入devpropdef.h、devpkey.h两个头文件,且必须保证devpropdef.h在devpkey.h之前引入。
  • 提前定义Windows版本适配宏
    这类设备属性API是Windows Vista及以上版本才支持的,需要在所有Windows系统头文件引入之前,先声明最低支持的Windows版本:
    #define WINVER 0x0600
    #define _WIN32_WINNT 0x0600
    
  • 补充GUID初始化相关声明
    为避免后续出现GUID相关的链接错误,建议在引入系统头文件前先包含initguid.h,或者提前定义INITGUID宏。
  • 可选:更新Windows SDK版本
    如果完成上述操作仍报错,检查你使用的Windows SDK版本是否过旧,升级到适配目标Windows版本的SDK即可。

正确的头文件引入示例

// 声明最低支持Windows Vista
#define WINVER 0x0600
#define _WIN32_WINNT 0x0600

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

// 自动链接依赖库
#pragma comment(lib, "Cfgmgr32.lib")

完成以上配置后,即可正常调用CM_Get_DevNode_Property传入&DEVPKEY_Device_DeviceDesc等属性常量获取设备信息。

内容的提问来源于stack exchange,提问作者Damn Vegetables

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:06:03