WDK (Windows Driver Kit) 和 VC++ 头文件问题

2023-12-02

我正在尝试从 USB HID 设备读取数据,我知道如何使用 DLLImport hid.dll 在 C# 中执行此操作,但我想从 C++ 执行此操作,这样我就不必声明所有结构等,并且只包含头文件。

所以我下载了WDK然后,当包含头文件并链接库时,我收到很多错误:

#include <windows.h>

extern "C" {
    #include <hidsdi.h>
}

int main(){

}

错误(163 个中的 6 个):

Error   1   error C2065: 'PASSIVE_LEVEL' : undeclared identifier    c:\winddk\7600.16385.1\inc\api\hidpi.h  302 driver
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\winddk\7600.16385.1\inc\api\hidpi.h  303 driver
Error   3   error C2146: syntax error : missing ';' before identifier 'NTSTATUS'    c:\winddk\7600.16385.1\inc\api\hidpi.h  303 driver
Error   4   error C2143: syntax error : missing ';' before '__stdcall'  c:\winddk\7600.16385.1\inc\api\hidpi.h  303 driver
Error   5   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\winddk\7600.16385.1\inc\api\hidpi.h  303 driver
Error   6   error C2377: 'NTSTATUS' : redefinition; typedef cannot be overloaded with any other symbol  c:\winddk\7600.16385.1\inc\api\hidpi.h  303 driver

好的,我在某处读到我也必须升级 Windows SDK,我有 Microsoft Windows SDK v6.0A,我下载并安装了 windows SDK v7.0。但看起来我现在有两个SDK?如何在Visual Studio中正确进行SDK升级?

我非常感谢你的帮助,

谢谢, 卡洛斯


我找到了一个解决方案,不知道为什么它有效,但它确实有效!:

在 Visual Studio 中转到:

工具->选项->项目->VC++ 目录,然后显示目录:包含文件。

添加此文件夹:

C:\WinDDK\7600.16385.1\inc\ddk 和 C:\WinDDK\7600.16385.1\inc\api

现在这是为我解决问题的技巧,我不知道为什么,因为看起来很奇怪,但它是:

C:\WinDDK\7600.16385.1\inc\ddk -> 该目录必须是列表中的第一个目录!

C:\WinDDK\7600.16385.1\inc\api -> 此目录必须位于“$(WindowsSdkDir)\include”上方但位于“$(VCInstallDir)include”下方

Example:

C:\WinDDK\7600.16385.1\inc\ddk
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
C:\WinDDK\7600.16385.1\inc\api
$(WindowsSdkDir)\include
$(FrameworkSDKDir)include

Carlos

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WDK (Windows Driver Kit) 和 VC++ 头文件问题 的相关文章

随机推荐

  • 没有图标的Android应用程序[重复]

    这个问题在这里已经有答案了 可能的重复 没有应用程序图标的应用程序 我的问题非常直接 我想创建一个没有任何图标的 Android 应用程序 我的应用程序只需要两个服务 这些服务将在启动时启动 是否可以 我问这个问题是因为我知道这个应用程序短
  • C++ 代码从 IP / 以太网摄像机 (AXIS Cam) 捕获图像

    我有 4 轴 IP 摄像头 我需要一个代码来从这些摄像头捕获图像 我有 opencv 代码来从 USB 摄像头捕获图像 但我不知道如何从 IP 摄像头捕获图像 int main Mat frame namedWindow video 1 V
  • Erlang:创建文件观察器

    我必须在 Erlang 中实现文件观察器功能 应该有一个进程列出特定目录中的文件 并在文件出现时执行某些操作 我看一下 OTP 所以目前我有以下想法 1 创建将控制 gen servers 的 Supervisor 每个文件夹一台服务器 2
  • 如何从 C# 检查是否安装了复杂脚本和 RTL 语言的文件?

    如何从 C 检查是否安装了复杂脚本和 RTL 语言 区域和语言设置 的文件 编辑 或者是否有另一种方法来检查从右到左的文本是否会在我的表单中正确显示 编辑以获得更好的解释 我希望 我正在创建一个将使用阿拉伯字母 免费词典 的应用程序 所以
  • 如何将(静态)字典绑定到标签?

    我有一个静态字典 class X static Dictionary
  • 使用 .NET 修改 Excel 电子表格

    问题是这样的 我必须使用 NET 修改现有的 Excel 电子表格 电子表格非常复杂 我只需在一些预定义区域中添加数据即可 我正在研究我的选项 并且 Excel 自动化 InterOp 是不可能的 因为我正在实现 ASP NET 网站 并且
  • Swift 项目的代码签名问题

    我安装了 p12 证书和配置文件 当我运行在 Objective C 中创建的项目时 它在我的 iOS 设备 版本 7 1 中运行得很好 但是当我运行在 Swift 中创建的项目时 它会抛出一个代码符号错误 如下所示 无法共同设计 User
  • 在 Chrome.tabs.executeScript 中获取多个值

    如何从 Chrome 插件 tabs executeScript 返回多个元素的值 请在下面的代码中建议 chrome tabs executeScript targetTab id code var header top document
  • Qt:将受保护的 QListWidget::itemChanged 信号连接到插槽

    我根据 new 在 Qt5 中使用了以下语法连接语法避免插槽和信号的类型不匹配QListWidget与可检查的项目 connect item QListWidget itemChanged this mainWindow checkItem
  • 绘制 2D HUD 会扰乱 3D 模型的渲染吗?

    我正在使用 XNA 3 1 我最近使用以下方法创建了一个 2D 平视显示器 HUD Components Add myComponent 到我的游戏 HUD 看起来不错 显示 2D 地图 十字准线和帧速率计数器 问题是 每当 HUD 出现在
  • 获取失败次数过多:集群上的 Hadoop (x2)

    我在过去一周左右一直在使用 Hadoop 试图掌握它 虽然我已经能够设置一个多节点集群 2 台机器 1 台笔记本电脑和一台小型台式机 并检索结果 但我总是当我运行 hadoop 作业时 似乎遇到 太多获取失败 一个示例输出 在一个简单的字数
  • JSON.parse:JSON 数据第 1 行第 1 列出现意外字符 (php)

    我无法访问 json 数据 因为它总是失败并给出错误 SyntaxError JSON parse JSON 数据第 1 行第 1 列出现意外字符 search php输出json数据但scripts js输出json parse错误脚本
  • 为什么我们要指定委托和事件,为什么不在 C# 中使用事件呢?

    为什么我们要与事件一起指定委托 为什么不在 C 中使用事件呢 例如 我有以下代码 class Shop internal delegate void EventHandler object sender GoodsInfoEventArgs
  • Python 电子邮件以纯文本形式发送 HTML

    我有以下应该发送电子邮件的脚本 但是 电子邮件是以纯文本而不是 HTML 形式发送的 我错过了一段代码吗 import smtplib ssl mimetypes from email message import EmailMessage
  • 使用 iText 删除指定区域中包含的文本

    是否可以使用 iText 删除 pdf 文档指定区域 红色矩形区域 中包含的所有文本 请看一下删除矩形中的内容例子 假设我们有以下页面 现在我们要删除坐标定义的矩形中的所有文本 llx 97 lly 405 urx 480 ury 445
  • Java字符串实例化

    为什么此代码返回 false 而不是 true package com company public class Main public static void main String args String fullName Name L
  • 使用 LU 分解求解 CUDA 中的稀疏线性系统

    当前基于 MATLAB 的 C 实现需要大约6ms用于解决Ax B 在哪里A是具有带宽的带状稀疏矩阵3尺寸780 X 780 现在我想用cuBLAS cuSPARSE找到更快的解决方案 我需要解决1440循环中的此类方程 我尝试使用基于 P
  • 如何防止jacoco检测生产代码?

    我在 gradle 中使用 jacoco 插件 apply plugin kotlin jacoco toolVersion 0 7 9 jacocoTestReport reports xml enabled true html enab
  • hide() 在 IE 中不起作用

    我的代码在 Firefox 中运行完美 但在 IE 中给出错误 有任何想法吗 我有一个包含各种选项的下拉列表 我试图根据所选值在另一个下拉列表中显示 隐藏选项 function selectNames var Name SelectName
  • WDK (Windows Driver Kit) 和 VC++ 头文件问题

    我正在尝试从 USB HID 设备读取数据 我知道如何使用 DLLImport hid dll 在 C 中执行此操作 但我想从 C 执行此操作 这样我就不必声明所有结构等 并且只包含头文件 所以我下载了WDK然后 当包含头文件并链接库时 我