创建虚拟HID设备

jsm*_*ith 8 virtual wdk hid

我想创建一个虚拟HID设备(用驱动程序模拟它).

它必须对实现标准HID检测的客户端可见:

  • 调用HidD_GetHidGuid() - 获取HID设备类GUID
  • 调用SetupDiGetClassDevs() - 获取实现HID接口的一组设备的句柄
  • 调用SetupDiEnumDeviceInterfaces() - 对于返回的设备集中的每个设备,获取所有公开的HID接口的接口信息.
  • 调用SetupDiGetDeviceInterfaceDetail() - 对于在上一次调用中获得的每个接口,获取该接口的详细信息块.此详细信息包括可以传递给CreateFile()以打开设备句柄的字符串
  • 调用SetupDiDestroyDeviceInfoList() - 释放在调用SetupDiGetClassDevs()时获得的设备信息集.

该设备还应支持读取,因此CreateFile/ReadFile将返回我从驱动程序提供的数据.

我真的不知道从哪里开始,因为我没有很多exp.在内核开发中.:(

djp*_*djp 7

有些人很幸运将vmulti项目作为基础http://code.google.com/p/vmulti/