2011-06-28 247 views
6

我想創建一個虛擬HID設備(使用驅動程序模擬它)。創建虛擬HID設備

它必須是可見的實現標準的HID檢測客戶端:

  • 呼叫HidD_GetHidGuid() - 獲取HID 設備類GUID
  • 呼叫SetupDiGetClassDevs() - 獲取 手柄一組其中 實現HID接口
  • 呼叫SetupDiEnumDeviceInterfaces()設備 - 對於返回的每個設備設定裝置 ,獲得接口 所有暴露的HID 接口的信息。
  • 呼叫 SetupDiGetDeviceInterfaceDetail() - 對於在 以前調用獲取每個接口,獲得該接口的詳細信息 塊。 此詳細信息包括 可以傳遞到 的CreateFile()將字符串打開的句柄 設備
  • 呼叫SetupDiDestroyDeviceInfoList() - 騰出設備信息設置在呼叫獲得 SetupDiGetClassDevs ()。

該設備還應該支持讀取,因此CreateFile/ReadFile將返回由驅動程序提供的數據。

我真的不知道從哪裏開始,因爲我沒有很多exp。在內核開發。 :(

回答

1

你sholud編寫驅動程序,然後使用DevCon(設備控制檯工具)與install選項。


cmdInstall

cmdUpdate的變型安裝驅動程序時,有沒有相關聯的硬件。它創建一個新的根枚舉設備實例,並將其與在命令行上指定的組成硬件ID(應該對應於INF中的硬件ID)相關聯。這不能在遠程機器上或Wow64上下文中完成。


http://code.msdn.microsoft.com/windowshardware/DevCon-Sample-4e95d71c

http://msdn.microsoft.com/en-us/library/windows/hardware/ff544707%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/hardware/ff544780%28v=vs.85%29.aspx