Compartilhar via


estrutura _URB_SELECT_CONFIGURATION (usb.h)

A estrutura _URB_SELECT_CONFIGURATION é usada por drivers de cliente para selecionar uma configuração para um dispositivo USB.

Sintaxe

struct _URB_SELECT_CONFIGURATION {
  struct _URB_HEADER            Hdr;
  PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
  USBD_CONFIGURATION_HANDLE     ConfigurationHandle;
  USBD_INTERFACE_INFORMATION    Interface;
};

Membros

Hdr

Ponteiro para uma estrutura _URB_HEADER que especifica as informações do cabeçalho URB. Hdr.Function deve ser URB_FUNCTION_SELECT_CONFIGURATION e Hdr.Length deve ter o tamanho de todo o URB. Os drivers podem usar a macro GET_SELECT_CONFIGURATION_REQUEST_SIZE definida em usbdlib.h para obter o tamanho da URB.

ConfigurationDescriptor

Ponteiro para um descritor de configuração USB inicializado que identifica a configuração a ser usada no dispositivo. Se esse membro for NULL, o dispositivo será definido como um estado não configurado.

ConfigurationHandle

Contém um identificador usado para acessar essa configuração no retorno do driver do controlador de host. Os drivers de cliente USB devem tratar esse membro como opaco.

Interface

Especifica uma matriz de comprimento variável de USBD_INTERFACE_INFORMATION estruturas, cada uma descrevendo uma interface compatível com a configuração que está sendo selecionada.

Antes que a solicitação seja enviada ao driver do controlador de host, o driver pode selecionar uma configuração alternativa para uma ou mais das interfaces contidas nessa matriz definindo membros da estrutura USBD_INTERFACE_INFORMATION para essa interface.

No retorno do driver do controlador de host, esse membro contém uma estrutura USBD_INTERFACE_INFORMATION com dados que descrevem os recursos e o formato dos pontos de extremidade dentro dessa interface.

Comentários

Um URB_FUNCTION_SELECT_CONFIGURATION URB consiste em uma estrutura _URB_SELECT_CONFIGURATION seguida por uma sequência de matriz de comprimento variável de estruturas USBD_INTERFACE_INFORMATION , cada elemento na matriz para cada número de interface exclusivo na configuração. Os drivers de cliente devem alocar memória suficiente para conter uma estrutura USBD_PIPE_INFORMATION para cada ponto de extremidade nas interfaces selecionadas.

Os drivers podem usar a rotina de serviço USBD_CreateConfigurationRequestEx para alocar o URB.

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 usb.h (inclua Usb.h)

Confira também

URB

Estruturas USB

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER