Compartir a través de


Información general sobre cómo seleccionar una configuración USB en controladores USB

En los temas de esta sección se describe cómo un controlador cliente debe configurar su dispositivo.

Un dispositivo USB expone sus capacidades en forma de una serie de interfaces denominadas configuración USB. Cada interfaz consta de una o varias configuraciones alternativas y cada configuración alternativa se compone de un conjunto de puntos de conexión. El dispositivo debe proporcionar al menos una configuración, pero puede proporcionar varias configuraciones que son definiciones mutuamente excluyentes de lo que el dispositivo puede hacer. Para obtener más información sobre los descriptores de configuración, consulte Descriptores de configuración 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. Antes de enviar solicitudes de E/S al dispositivo, un controlador cliente debe leer la configuración del dispositivo, analizar la información y seleccionar una configuración adecuada. El controlador cliente debe seleccionar al menos una de las configuraciones admitidas para que el dispositivo funcione.

Un controlador de cliente basado en WDM puede seleccionar cualquiera de las configuraciones de un dispositivo USB.

Si el controlador cliente se basa en el marco de controladores del modo kernel o en el marco de controlador del modo de usuario, debe usar las interfaces de marco correspondientes para configurar un dispositivo USB. Si usa las plantillas USB que se proporcionan con Microsoft Visual Studio Professional 2012, el código de plantilla selecciona la primera configuración y la configuración alternativa predeterminada en cada interfaz.

En esta sección

Tema Descripción
Cómo seleccionar una configuración para un dispositivo USB En este tema, obtendrá información sobre cómo seleccionar una configuración en un dispositivo de bus serie universal (USB).
Cómo seleccionar una configuración alternativa en una interfaz USB En este tema se describen los pasos para emitir una solicitud de interfaz de selección para activar una configuración alternativa en una interfaz USB. El controlador cliente debe emitir esta solicitud después de seleccionar una configuración USB. Al seleccionar una configuración, de forma predeterminada, también se activa la primera configuración alternativa en cada interfaz de esa configuración.
Configuración de Usbccgp.sys para seleccionar una configuración de USB no predeterminada En este tema se proporciona información sobre las opciones del Registro que configuran la forma en que Usbccgp.sys selecciona una configuración USB. En el tema también se describe cómo Usbccgp.sys controla las solicitudes de configuración de selección enviadas por un controlador cliente que controla una de las funciones de un dispositivo compuesto.

Para obtener información sobre consideraciones especiales relacionadas con la configuración de dispositivos que requieren descargas de firmware, consulte Configuración de dispositivos USB que requieren descargas de firmware.

Limitaciones para seleccionar una configuración

Se aplican ciertas restricciones si un controlador cliente usa objetos WDF o si el dispositivo tiene una sola interfaz o varias interfaces. Tenga en cuenta las restricciones siguientes antes de cambiar la configuración predeterminada:

  • Un controlador de cliente para un dispositivo compuesto que administra interfaces o colecciones de interfaces a través del controlador primario genérico USB (Usbccgp.sys) no puede cambiar el valor de configuración del dispositivo. Sin embargo, el controlador cliente puede configurar Usbccgp.sys para seleccionar una configuración distinta de la primera configuración (predeterminada). Para obtener más información, vea Configurar Usbccgp.sys para seleccionar una configuración USB no predeterminada.
  • Un controlador de cliente basado en KMDF que use los destinos de E/S USB del marco solo puede seleccionar la primera configuración.
  • WinUSB solo admite la primera configuración.
  • Con frecuencia, un controlador de clase carece de compatibilidad con varias configuraciones. Si el dispositivo implementa una clase definida por una especificación de clase USB, consulte el sitio web de tecnología USB para obtener información sobre las clases de dispositivo y las especificaciones de clase. Microsoft proporciona controladores de clase para las clases de dispositivo USB admitidas. Para obtener más información, consulte Controladores para las clases de dispositivos USB compatibles.