天天看點

驅動開發利器Microsoft Windows Driver Kit 7.1.0下載下傳

在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​​

繼續閱讀