estructura USB_CONFIGURATION_DESCRIPTOR (usbspec.h)

Los controladores de cliente USB usan la estructura USB_CONFIGURATION_DESCRIPTOR para contener un descriptor de configuración definido por USB. Los miembros de esta estructura se describen en la especificación Universal Serial Bus 3.1 disponible en la biblioteca de documentos USB. Consulte la sección 9.6.3.

Sintaxis

typedef struct _USB_CONFIGURATION_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT wTotalLength;
  UCHAR  bNumInterfaces;
  UCHAR  bConfigurationValue;
  UCHAR  iConfiguration;
  UCHAR  bmAttributes;
  UCHAR  MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;

Miembros

bLength

Especifica la longitud, en bytes, de esta estructura.

bDescriptorType

Especifica el tipo de descriptor. Debe establecerse en USB_CONFIGURATION_DESCRIPTOR_TYPE.

wTotalLength

Especifica la longitud total, en bytes, de todos los datos de la configuración. La longitud incluye todas las interfaces, puntos de conexión, clase o descriptores específicos del proveedor que se devuelven con el descriptor de configuración.

bNumInterfaces

Especifica el número total de interfaces admitidas por esta configuración.

bConfigurationValue

Contiene el valor que se usa para seleccionar una configuración. Este valor se pasa a la solicitud setConfiguration USB, tal y como se describe en la versión 1.1 de la especificación de bus serie universal. El controlador de puerto no expone actualmente un servicio que permite a los controladores de nivel superior establecer la configuración.

iConfiguration

Especifica el índice definido por el dispositivo del descriptor de cadena para esta configuración.

bmAttributes

Especifica un mapa de bits para describir el comportamiento de esta configuración. Los bits se describen y establecen en orden little-endian.

bit Significado
0 - 4 Reservado.
5 La configuración admite la reactivación remota.
6 La configuración es autopropulsado y no usa energía del bus.
7 La configuración está alimentada por el bus.

MaxPower

Especifica los requisitos de energía de este dispositivo en unidades de dos miliamperios. Este miembro solo es válido si el bit siete está establecido en bmAttributes.

Comentarios

Si wTotalLength es mayor que el tamaño del búfer proporcionado en el URB para contener todos los descriptores recuperados (interfaz, punto de conexión, clase y definido por el proveedor), se devolverán datos incompletos. Para recuperar descriptores completos, la solicitud deberá volver a enviarse con un búfer mayor.

Si se establecen los bits bmAttributes seis y siete, el dispositivo se alimenta tanto por el bus como por un origen externo al bus.

Otros miembros que forman parte de esta estructura, pero que no se describen aquí, deben tratarse como opacos y se consideran reservados para el uso del sistema.

Requisitos

Requisito Valor
Header usbspec.h (incluye Usb100.h)

Consulte también

Estructuras USB

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest