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) |