驱动开发利器Microsoft Windows Driver Kit 7.1.0下载

在Windows2000与WindowsXP系统采用是WINDDK来开发WINDOWS驱动程序,我手头也有WINDDK,可是从WindowsVista开始之后,一般采用MicrosoftW

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

在Windows 2000 与Windows XP 系统采用是WINDDK来开发WINDOWS驱动程序,我手头也有WINDDK,可是从Windows Vista开始之后,一般采用Microsoft Windows Driver简称(WDK)。这段时间刚好项目有用到USB HID,需要用到HID.lib库文件,因此下载了这个WDK7.1.0版本,采用HID.LIB,以及采用USB HID的目的,就是省去了PC端的驱动程序的编写,直接采用Windows内置的驱动程序,只需要了解USB HID通信数据包的机制即可。免去了安装驱动程序的烦恼。当然下位机也需要写一个USB HID的USB Device驱动。简单的说下USB HID的枚举吧:

一、枚举USB设备
  通过枚举USB控制器->枚举此控制器上的USB HUB->枚举HUB的各个端口->获得设备信息。
枚举控制器: 

wsprintf(HCName, "\\\\.\\HCD%d", HCNum);  
        hHCDev = CreateFile(HCName,  
                            GENERIC_WRITE,  
                            FILE_SHARE_WRITE,  
                            NULL,  
                            OPEN_EXISTING,  
                            0,  
                            NULL);  

计算机上的USB主控制器以HCD1,HCD2等命名。通过控制器名称,使用CreateFile 打开它。使用DeviceIoControl即可得到其驱动程序名,以及与它连接的HUB的名称。用CreateFile打开HUB,获得连接信息。再枚举HUB的各个端口即可获得连接的设备信息。

二、枚举HID设备
  HID设备是微软定义的标准人机接口规范。比如USB鼠标,USB游戏手柄等。不用查找具体设备的GUID,使用API HidD_GetHidGuid(&guidHID)即可得到GUID。有了GUID通过API SetupDiEnumDeviceInterfaces可获得是否有设备连接。如果此类设备连接通过SetupDiGetDeviceInterfaceDetail获得它的设备路径信息。使用CreateFile 打开它,通过HidD_GetAttributes获得其基本属性信息。使用DeviceIoControl可以获得更详细的属性。

注意:

从NTDDK\INC拷贝下列头文件  
   devioctl.h  
   usbdi.h  
   usbioctl.h  
   usb100.h  
   hidsdi.h  
   hidusage.h  
   hidpi.h  
从NTDDK\libchk\i386拷贝hid.lib,在PROJECT SETTING中添加hid.lib setupapi.lib  
/* 何问起 hovertree.com */

WDK下载地址一:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11800

WDK下载地址二:

http://www.microsoft.com/download/en/confirmation.aspx?displaylang=en&id=11800

推荐:http://www.cnblogs.com/roucheng/p/Chromium.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120404.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月26日 下午12:36
下一篇 2021年12月26日 下午12:36


相关推荐

  • linux系统中socket错误码:EINTR和EAGAIN的处理

    目录人为重启被中断的系统调用安装信号时设置SA_RESTART属性忽略信号永远阻塞的系统调用,被信号中断,导致其不继续等待,转而去执行signal_handler1、什么是慢系统调用?该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会永远阻塞。…

    2022年4月4日
    546
  • idea2021.3.2 激活码 激活licens sever(JetBrains全家桶)

    (idea2021.3.2 激活码 激活licens sever)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    1.1K
  • COM组件和调用

    COM组件和调用COM 组件和调用 1 引言 2 实验环境 3 COM 组件介绍 4 实验过程 4 1 利用 C 创建一个 COM 组件 4 1 1 项目创建 4 1 2 配置项目属性功能快捷键合理的创建标题 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右 SmartyPants 创建一个自定义列表如何创建一个注脚注释也是必不可少的 KaTeX 数学公式新的甘特图

    2026年3月20日
    2
  • 【C++】C++中函数重载的理解

    【C++】C++中函数重载的理解我们在平时写代码中会用到几个函数但是他们的实现功能相同 但是有些细节却不同 例如 交换两个数的值其中包括 int float char double 这些个类型 在 C 语言中我们是利用不同的函数名来加以区分 voidSwap1 int a int b voidSwap2 float a float b voidSwap3 char a char b voidS

    2026年3月20日
    1
  • Aircrack-ng激活成功教程无线WIFI密码

    Aircrack-ng激活成功教程无线WIFI密码首先 如果 kali 是装在虚拟机里面的话 是不能用物理机的无线网卡的 所以 如果我们要想进行无线激活成功教程 需要外接一个无线网卡设备 并且该设备要支持 monitor 监听模式 iwconfig 系统配置无线网络设备或显示无线网络设备信息的命令 iwconfig 命令类似于 ifconfig 命令 但是他配置对象是无线网卡 它对网络设备进行无线操作 如设置无线通信频段 auto 自动模式 essid

    2026年3月19日
    2
  • BREW的COM属性

    BREW的COM属性

    2021年8月2日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号