【发布时间】:2016-03-18 03:37:28
【问题描述】:
我正在尝试从 Github (https://github.com/Microsoft/Windows-driver-samples/tree/97cf8edcaddff4fdbc5cc48d56b7d7eb2c39b749/hid/vhidmini2) 上的 Windows 驱动程序示例中修改 KMDF vhidmini2 示例。我的一项修改需要包含 hidpi.h 头文件。但是,当我这样做时,会出现编译器错误,其中大部分是:
identifier "USAGE" is undefined
还有几个:
redefinition: different type modifiers
还有一些语法错误。
为了尝试排除错误,我尝试编译 vhidmini2 驱动程序(工作正常),然后在 vhidmini.h 文件中插入包含语句(这会导致编译失败)。这是我修改后的 vhidmini.h 文件的包含部分;其余代码保持不变。
#ifdef _KERNEL_MODE
#include <ntddk.h>
#else
#include <windows.h>
#endif
#include <wdf.h>
#include <hidport.h> // located in $(DDK_INC_PATH)/wdm
#include <Hidpi.h>
#include "common.h"
顺便说一句,我在这里发现了一个类似的问题发布到 Stack Overflow:WDK (Windows Driver Kit) and VC++ headers problem。这个问题的解决方案似乎是告诉 Visual Studio 在加载 SDK 头之前加载 WDK 头。这个问题已经有几年的历史了,Visual Studio 2015 不允许以同样的方式编辑 VC++ 目录。如果这确实是我的问题的解决方案,那么如何在新的 Visual Studio 中进行此编辑?我试过查看项目的属性表,但格式完全不同。
【问题讨论】:
标签: c visual-studio-2015 hid wdk kmdf