加DBT.H头文件后,在其他cpp中使用变量DEV_BROADCAST_DEVICEINTERFACE居然提示未定义

时间:2022-07-07 19:14:36
错误提示:error C2065: 'DEV_BROADCAST_DEVICEINTERFACE' : undeclared identifier

DBT.H中对'DEV_BROADCAST_DEVICEINTERFACE' 的定义如下
typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
    DWORD       dbcc_size;
    DWORD       dbcc_devicetype;
    DWORD       dbcc_reserved;
    GUID        dbcc_classguid;
    char        dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;

typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
    DWORD       dbcc_size;
    DWORD       dbcc_devicetype;
    DWORD       dbcc_reserved;
    GUID        dbcc_classguid;
    wchar_t     dbcc_name[1];
} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;

#ifdef UNICODE
typedef DEV_BROADCAST_DEVICEINTERFACE_W   DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_W  PDEV_BROADCAST_DEVICEINTERFACE;
#else
typedef DEV_BROADCAST_DEVICEINTERFACE_A   DEV_BROADCAST_DEVICEINTERFACE;
typedef PDEV_BROADCAST_DEVICEINTERFACE_A  PDEV_BROADCAST_DEVICEINTERFACE;
#endif
请求解答,为什么会出现这样的情况,怎么解决

2 个解决方案

#1


那有可能,它一般只在本文件中有效;
在缺的那个文件中也包含上。

#2


add #define WINVER 0x0500 before #include <dbt.h>

#1


那有可能,它一般只在本文件中有效;
在缺的那个文件中也包含上。

#2


add #define WINVER 0x0500 before #include <dbt.h>