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

2022-07-15 16:33:13 浏览数 (1)

大家好,又见面了,我是全栈君

在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的各个端口->获得设备信息。 枚举控制器:

代码语言:javascript复制
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可以获得更详细的属性。

注意:

代码语言:javascript复制
从NTDDKINC拷贝下列头文件  
   devioctl.h  
   usbdi.h  
   usbioctl.h  
   usb100.h  
   hidsdi.h  
   hidusage.h  
   hidpi.h  
从NTDDKlibchki386拷贝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

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

0 人点赞