Compartilhar via


estrutura USB_CONFIGURATION_DESCRIPTOR (usbspec.h)

A estrutura USB_CONFIGURATION_DESCRIPTOR é usada por drivers 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 em 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 é autogerenciada e não usa energia do barramento.
7 A configuração é alimentada pelo barramento.

MaxPower

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

Observações

Se wTotalLength for maior do que o tamanho do buffer fornecido na 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 reenançada com um buffer maior.

Se bmAttributes bits 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)

Consulte também

estruturas USB

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest