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)

Confira também

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

Estruturas USB