2011-06-28 24 views
6

Me gustaría crear un dispositivo HID virtual (emularlo con un controlador).Crear un dispositivo HID virtual

Debe ser visible para los clientes que implementan la detección de HID estándar:

  • HidD_GetHidGuid de llamadas() - Obtener el HID dispositivo de clase GUID
  • SetupDiGetClassDevs de llamada() - Obtener un mango a un conjunto de dispositivos que implementan la interfaz HID
  • SetupDiEnumDeviceInterfaces de llamada() - Para cada dispositivo en el vuelto establecen de dispositivos, obtener la interfaz información para todas las interfaces HID expuestas.
  • llamada SetupDiGetDeviceInterfaceDetail() - Para cada interfaz obtenido en la anterior convocatoria , obtener el bloque información detallada para esa interfaz. Esta información detallada incluye la cadena que se puede pasar a CreateFile() para abrir un identificador para el dispositivo
  • SetupDiDestroyDeviceInfoList de llamadas() - libre de la información del dispositivo establecido que se obtuvo en la llamada a SetupDiGetClassDevs().

El dispositivo también debe apoyar la lectura, por lo CreateFile/ReadFile volvería datos suministrados por mí desde el controlador.

que no se sabe muy bien por dónde empezar, ya que no tengo mucha exp. en kernel dev. :(

Respuesta

1

Usted sholud escribir un controlador, a continuación, utilizar DevCon (Herramienta Consola de dispositivos) con install opción.


cmdInstall:

Una variación de cmdUpdate instalar un controlador cuando no hay hardware asociado. Crea una nueva instancia de dispositivo enumerada por la raíz y la asocia con un ID de hardware inventado especificado en la línea de comando (que debe corresponder a una ID de hardware en el INF). Esto no se puede hacer en una máquina remota o en el contexto de 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

Cuestiones relacionadas