estrutura USB_CONFIGURATION_DESCRIPTOR (usbspec.h)

A estrutura USB_CONFIGURATION_DESCRIPTOR é usada por drivers de cliente USB para manter um descritor de configuração definido por USB. Os membros dessa estrutura são descritos na Especificação do Barramento Serial Universal 3.1 disponível na Biblioteca de Documentos USB. Consulte a seção 9.6.3.

Sintaxe

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;

Membros

bLength

Especifica o comprimento, em bytes, dessa estrutura.

bDescriptorType

Especifica o tipo de descritor. Deve ser definido como USB_CONFIGURATION_DESCRIPTOR_TYPE.

wTotalLength

Especifica o comprimento total, em bytes, de todos os dados para a configuração. O comprimento inclui todos os descritores específicos de interface, ponto de extremidade, classe ou fornecedor que são retornados com o descritor de configuração.

bNumInterfaces

Especifica o número total de interfaces compatíveis com essa configuração.

bConfigurationValue

Contém o valor usado para selecionar uma configuração. Esse valor é passado para a solicitação SETConfiguration USB , conforme descrito na versão 1.1 da Especificação do Barramento Serial Universal. No momento, o driver de porta não expõe um serviço que permite que drivers de nível superior definam a configuração.

iConfiguration

Especifica o índice definido pelo dispositivo do descritor de cadeia de caracteres para essa configuração.

bmAttributes

Especifica um bitmap para descrever o comportamento dessa configuração. Os bits são descritos e definidos em ordem little-endian.

bit Significado
0 - 4 Reservado.
5 A configuração dá suporte à ativação remota.
6 A configuração é auto-alimentada e não usa energia do barramento.
7 A configuração é da plataforma do barramento.

MaxPower

Especifica os requisitos de energia deste dispositivo em unidades de dois miliamperes. Esse membro só será válido se o bit sete estiver definido em bmAttributes.

Comentários

Se wTotalLength for maior que o tamanho do buffer fornecido no URB para manter todos os descritores recuperados (interface, ponto de extremidade, classe e definido pelo fornecedor), os dados incompletos serão retornados. Para recuperar descritores completos, a solicitação precisará ser enviada novamente com um buffer maior.

Se os bits bmAttributes seis e sete estiverem definidos, o dispositivo será alimentado pelo barramento e por uma origem externa ao barramento.

Outros membros que fazem parte dessa estrutura, mas não descritos aqui, devem ser tratados como opacos e considerados reservados para uso do sistema.

Requisitos

Requisito Valor
Cabeçalho usbspec.h (inclua Usb100.h)

Confira também

Estruturas USB

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest