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