Compartir a través de


Información general sobre el desarrollo de controladores de cliente de Windows para dispositivos USB

En este artículo se describe la compatibilidad con el bus serie universal (USB) en el sistema operativo Windows, de modo que pueda desarrollar controladores de dispositivos USB que sean interoperables con Windows.

Los dispositivos USB son periféricos, como los dispositivos del mouse y los teclados, que están conectados a un equipo a través de un único puerto. Un controlador cliente USB es el software instalado en el equipo que se comunica con el hardware para realizar la función del dispositivo. Si el dispositivo pertenece a una clase de dispositivo compatible con Microsoft, Windows carga uno de los controladores USB proporcionados por Microsoft (controladores de clase integrados) para el dispositivo. De lo contrario, el fabricante de hardware o un proveedor de terceros deben proporcionar un controlador cliente personalizado. El usuario instala el controlador cliente para el dispositivo cuando Windows detecta por primera vez el dispositivo. Después de una instalación correcta, Windows carga el controlador cliente cada vez que el dispositivo está conectado y descarga el controlador cuando el dispositivo se desconecta del equipo host.

Puedes desarrollar un controlador cliente personalizado para un dispositivo USB mediante los marcos de controladores de Windows (WDF) o el modelo de controlador de Windows (WDM). En lugar de comunicarse directamente con el hardware, la mayoría de los controladores cliente envían sus solicitudes a la pila de controladores USB proporcionados por Microsoft que realiza llamadas de función de capa de abstracción de hardware (HAL) para enviar la solicitud del controlador cliente al hardware. En los temas de esta sección se describen las solicitudes típicas que un controlador cliente puede enviar y las interfaces de controlador de dispositivo (DDI) a las que debe llamar el controlador cliente para crear esas solicitudes.

Audiencia de los desarrolladores

Un controlador de cliente para un dispositivo USB es un controlador WDF o WDM que se comunica con el dispositivo a través de DDI expuestas por la pila de controladores USB. Esta sección está pensada para su uso por parte de programadores de C/C++ que están familiarizados con WDM. Antes de usar esta sección, debe comprender el desarrollo básico de controladores. Para obtener más información, consulte Introducción a controladores en Windows. En el caso de los controladores WDF, el controlador cliente puede usar el marco de controladores en modo kernel (KMDF) o interfaces del marco de controladores en modo de usuario (UMDF) diseñadas específicamente para trabajar con destinos USB. Para obtener más información sobre las interfaces específicas de USB, consulte Referencia de USB WDF e Interfaces de destino de E/S USB de UMDF.

Herramientas de desarrollo

El Kit para controladores de Windows (WDK) contiene recursos necesarios para el desarrollo de controladores, como encabezados, bibliotecas, herramientas y ejemplos.

Referencia de programación de USB

Proporciona especificaciones para solicitudes de E/S, rutinas de soporte técnico, estructuras e interfaces que usan los controladores cliente USB. Esas rutinas y estructuras de datos relacionadas se definen en los encabezados WDK.

Ejemplos de controlador USB

Use estos ejemplos para empezar a trabajar con la programación de controladores cliente USB.

Puede descargar las especificaciones USB oficiales desde el sitio web de la Biblioteca de documentos de bus serie universal. Este sitio web contiene vínculos a varias revisiones de las especificaciones del bus serie universal.

Secciones de la documentación

  • Introducción al desarrollo de controladores de cliente USB
    Se presenta el desarrollo de controladores USB. Proporciona información sobre cómo elegir el modelo más adecuado para proporcionar un controlador USB para el dispositivo. Escriba, compile e instale los primeros controladores USB en modo de usuario y en modo kernel mediante las plantillas USB incluidas con Microsoft Visual Studio.

  • Controladores del lado host USB en Windows
    Proporciona información general sobre la arquitectura de la pila de controladores USB.

  • Acerca del bloque de solicitudes USB (URB)
    Obtenga información sobre cómo un controlador cliente crea una estructura de datos de longitud variable denominada bloque de solicitud USB (URB) para enviar solicitudes a la pila del controlador USB.

  • Descriptores USB
    Obtenga información sobre cómo un controlador cliente crea una estructura de datos de longitud variable denominada bloque de solicitud USB (URB) para enviar solicitudes a la pila del controlador USB.

  • Selección de una configuración USB en controladores USB
    La configuración del dispositivo hace referencia a las tareas que realiza el controlador cliente para seleccionar una configuración USB y una interfaz alternativa en cada interfaz. En la sección se muestran las llamadas al método necesarias para seleccionar una configuración USB.

  • Envío de transferencias de datos USB en controladores de cliente USB
    Describe las canalizaciones USB, los URB para las solicitudes de E/S y cómo un controlador cliente puede usar las interfaces de controlador de dispositivo (DDI) para transferir datos a un dispositivo USB y desde él.

  • Implementación de la administración de energía en controladores de cliente USB
    Utilizar las capacidades de administración de energía de los dispositivos USB que cumplen con la especificación del bus serie universal (USB) tienen un conjunto rico y complejo de funciones de administración de energía.