驱动开发利器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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 同济大学土木工程学院招收2名秋季入学全日制博士生

    同济大学土木工程学院招收2名秋季入学全日制博士生招生群体面向应届或往届硕士生,2020年秋季入学的博士生(全日制)研究方向智能建造与运营、人工智能与土木工程创新应用拟招人数2人招生要求具有本科和硕士学位,本科211或985;优…

    2022年7月25日
    23
  • cube-ui的用法

    cube-ui的用法1.安装:npminstallcube-ui-S2.修改.babelrc:(添加到plugins中去){"plugins":[["transform-m

    2022年8月3日
    7
  • vim退出快捷键「建议收藏」

    vim退出快捷键「建议收藏」退出vim的快捷键,不需要进入命令编辑模式按住shiftzz  保存退出zq  不保存退出,q表示放弃之所以按住shift,其实是切换大小写 在命令编辑模式下::q不保存退出:q!不保存强制退出:wq保存退出,w表示写入,不论是否修改,都会更改时间戳:x  保存退出,如果内容未改,不会更改时间戳

    2022年8月24日
    6
  • 第一章,安装spark集群,测试和运行wordcount 案例

    第一章,安装spark集群,测试和运行wordcount 案例第一章,安装spark集群,测试和运行wordcount 案例

    2022年4月23日
    54
  • opencv widthstep 理解

    opencv widthstep 理解widthstep是指图像每行所占的字节数,主要要和width区别,width是指每行所含的像素个数,但是一个像素也可能占一个字节,也可能占三个字节或者四个,多个等.imagedata是指向存储图像像素值数组的指针,内容是这个数组的首地址,pt.y指的是像素点的行坐标,所以Img->imageData+Img->widthStep*pt.y便是该像素点所在行的首地址,然后再加上该像

    2022年6月11日
    29
  • mysqltext长度需要设置嘛_text字段类型需要设置大小吗

    mysqltext长度需要设置嘛_text字段类型需要设置大小吗受到@Ankan-Zerob的挑战,这是我对可以存储在以字为单位的每种文本类型中的最大长度的估计:Type|Bytes|Englishwords|Multi-bytewords———–+—————+—————+—————–TINYTEXT|255|…

    2022年8月13日
    11

发表回复

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

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