estrutura USB_DESCRIPTOR_REQUEST (usbioctl.h)
A estrutura USB_DESCRIPTOR_REQUEST é usada com a solicitação de controle de E/S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION para recuperar um ou mais descritores para o dispositivo associado ao índice de conexão indicado. Os campos nessa estrutura são descritos na Especificação do Barramento Serial Universal 3.1 disponível na Biblioteca de Documentos USB.
Sintaxe
typedef struct _USB_DESCRIPTOR_REQUEST {
ULONG ConnectionIndex;
struct {
UCHAR bmRequest;
UCHAR bRequest;
USHORT wValue;
USHORT wIndex;
USHORT wLength;
} SetupPacket;
UCHAR Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;
Membros
ConnectionIndex
A porta cujos descritores são recuperados.
SetupPacket
Os membros da estrutura SetupPacket definidos de acordo com a especificação oficial. Consulte a seção 9.3.
SetupPacket.bmRequest
O tipo de solicitação de dispositivo USB (padrão, classe ou fornecedor), a direção da transferência de dados e o tipo de destinatário de dados (dispositivo, interface ou ponto de extremidade). Na entrada para o IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION solicitação de controle de E/S, a pilha USB ignora o valor de bmRequest e insere um valor de 0x80. Esse valor indica uma solicitação de dispositivo USB padrão e uma transferência de dados de dispositivo para host.
SetupPacket.bRequest
O número da solicitação. Na entrada para o IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION solicitação de controle de E/S, a pilha USB ignora o valor de bRequest e insere um valor de 0x06. Esse valor indica uma solicitação de GET_DESCRIPTOR.
SetupPacket.wValue
Na entrada para o IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION solicitação de controle de E/S, o chamador deve especificar o tipo de descritor a ser recuperado no byte alto de wValue e no índice do descritor no byte baixo. A tabela a seguir lista os possíveis tipos de descritor. Esses tipos constantes são definidos no cabeçalho Usbspec.h incluído no Kit de Driver do Windows.
Tipo de descritor | Significado |
---|---|
USB_DEVICE_DESCRIPTOR_TYPE | Instrui a pilha USB a retornar o descritor do dispositivo. |
USB_CONFIGURATION_DESCRIPTOR_TYPE | Instrui a pilha USB a retornar o descritor de configuração e todos os descritores de interface, ponto de extremidade, específicos da classe e específicos do fornecedor associados à configuração atual. |
USB_STRING_DESCRIPTOR_TYPE | Instrui a pilha USB a retornar o descritor de cadeia de caracteres indicado. |
USB_INTERFACE_DESCRIPTOR_TYPE | Instrui a pilha USB a retornar o descritor de interface indicado. |
USB_ENDPOINT_DESCRIPTOR_TYPE | Instrui a pilha USB a retornar o descritor de ponto de extremidade indicado. |
SetupPacket.wIndex
O índice específico do dispositivo do descritor que deve ser recuperado.
SetupPacket.wLength
O comprimento dos dados transferidos durante a segunda fase da transferência de controle.
Data[0]
Na saída do IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION solicitação de controle de E/S, esse membro contém os descritores recuperados.
Comentários
Se o chamador especificar um valor de USB_CONFIGURATION_DESCRIPTOR_TYPE no membro wValue , o buffer de saída deverá ser grande o suficiente para manter todos os descritores associados à configuração atual ou a solicitação falhará.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbioctl.h (include Usbioctl.h) |