Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Como desarrollador de controladores, comprender WinUSB (Windows USB) puede simplificar significativamente el proceso de desarrollo, especialmente cuando trabaja con dispositivos USB. WinUSB es un controlador genérico incluido con Windows. Permite comunicarse con dispositivos USB sin necesidad de escribir un controlador personalizado. El uso de este controlador puede ahorrar tiempo, reducir la complejidad y garantizar la compatibilidad entre diferentes versiones de Windows.
Ventajas clave del uso de WinUSB
Desarrollo simplificado
- Facilidad de uso: WinUSB abstrae gran parte de la complejidad implicada en la comunicación USB, lo que facilita la interacción con dispositivos USB.
- No se necesita ningún controlador personalizado: para muchos dispositivos USB, WinUSB se puede usar directamente, lo que elimina la necesidad de escribir y mantener un controlador personalizado.
Compatibilidad multiplataforma
- Interfaz estandarizada: WinUSB proporciona una interfaz estandarizada para la comunicación USB, lo que puede ayudar a garantizar la compatibilidad entre diferentes versiones de Windows.
Tiempo y eficiencia de costos
- Tiempo de desarrollo reducido: el uso de WinUSB puede reducir significativamente el tiempo necesario para desarrollar y probar un controlador USB.
- Menores costos de mantenimiento: dado que Microsoft mantiene WinUSB, puede confiar en que se actualice y admita, lo que reduce los costos de mantenimiento a largo plazo.
Acceso a características USB
- Funcionalidad USB completa: WinUSB admite una amplia gama de características USB, incluidas las transferencias masivas, las transferencias de control, las transferencias de interrupción y las transferencias isócrónicas.
Lo que puedes lograr con WinUSB
comunicación de dispositivos
- Transferencia de datos: envíe y reciba datos hacia y desde un dispositivo USB mediante transferencias masivas, de control, de interrupción o isócrónicas.
- Solicitudes de control: envíe solicitudes de control para configurar el dispositivo o recuperar información.
Configuración de dispositivos
- Configuración: seleccione configuraciones, interfaces y opciones alternativas para configurar el dispositivo USB.
- Administración de puntos de conexión: administre puntos de conexión para la transferencia de datos.
Enumeración de dispositivos
- Identificación del dispositivo: enumere e identifique los dispositivos USB conectados al sistema.
- Recuperación de descriptores: recupere descriptores de dispositivo, descriptores de configuración, descriptores de interfaz y descriptores de punto de conexión.
Aplicaciones personalizadas
- Aplicaciones en modo de usuario: desarrolle aplicaciones en modo de usuario que se comuniquen con dispositivos USB mediante la API de WinUSB.
- Actualizaciones de firmware: implemente mecanismos de actualización de firmware para dispositivos USB.
Pruebas y depuración
- Creación de prototipos: prototipo rápido de comunicación de dispositivos USB para probar la funcionalidad de hardware.
- Depuración: use WinUSB para depurar problemas de comunicación entre el host y el dispositivo USB.
Componentes de WinUSB
WinUSB incluye:
- Un controlador en modo kernel (winusb.sys)
- Una biblioteca de vínculos dinámicos en modo de usuario (winusb.dll) que expone las funciones de WinUSB descritas en winusb.h. Puede usar estas funciones para administrar dispositivos USB con software en modo de usuario.
De forma predeterminada, winusb.sys se instala en la pila del modo kernel del dispositivo como controlador de filtro superior. Las aplicaciones se comunican con el controlador de función User-Mode Driver Framework (UMDF) del dispositivo para emitir solicitudes de entrada/salida (E/S), como lecturas, escrituras o controles de E/S del dispositivo. En esta configuración, winusb.sys actúa como propietario de energía y Plug and Play de la pila de dispositivos. También puede instalar winusb.sys como controlador de función para un dispositivo USB.
Introducción a WinUSB
En esta sección se incluye información sobre:
- Selección del controlador correcto para un dispositivo
- Uso de WinUSB para comunicarse con dispositivos USB
- Instalación de winusb.sys como controlador de funciones para un dispositivo USB
También incluye ejemplos de código detallados que muestran cómo se comunican las aplicaciones y los dispositivos USB.
Nota:
WinUSB admite transferencias isócronas a partir de Windows 8.