_URB_SELECT_CONFIGURATION struttura (usb.h)

La struttura _URB_SELECT_CONFIGURATION viene usata dai driver client per selezionare una configurazione per un dispositivo USB.

Sintassi

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

Members

Hdr

Puntatore a una struttura _URB_HEADER che specifica le informazioni sull'intestazione DELL'AREA. Hdr.Function deve essere URB_FUNCTION_SELECT_CONFIGURATION, e Hdr.Length deve essere la dimensione dell'intero OGGETTO URB. I driver possono usare la macro GET_SELECT_CONFIGURATION_REQUEST_SIZE definita in usbdlib.h per ottenere le dimensioni dell'ENTITÀ.

ConfigurationDescriptor

Puntatore a un descrittore di configurazione USB inizializzato che identifica la configurazione da usare nel dispositivo. Se questo membro è NULL, il dispositivo verrà impostato su uno stato non configurato.

ConfigurationHandle

Contiene un handle usato per accedere a questa configurazione al ritorno dal driver del controller host. I driver client USB devono trattare questo membro come opaco.

Interface

Specifica una matrice di lunghezza variabile di strutture USBD_INTERFACE_INFORMATION , ognuna che descrive un'interfaccia supportata dalla configurazione selezionata.

Prima di inviare la richiesta al driver del controller host, il driver può selezionare un'impostazione alternativa per una o più interfacce contenute in questa matrice impostando i membri della struttura USBD_INTERFACE_INFORMATION per tale interfaccia.

Al ritorno dal driver del controller host, questo membro contiene una struttura USBD_INTERFACE_INFORMATION con dati che descrivono le funzionalità e il formato degli endpoint all'interno di tale interfaccia.

Commenti

Un URB_FUNCTION_SELECT_CONFIGURATION URB è costituito da una struttura _URB_SELECT_CONFIGURATION seguita da una sequenza di matrice a lunghezza variabile di struttureUSBD_INTERFACE_INFORMATION, ogni elemento nella matrice per ogni numero di interfaccia univoco nella configurazione. I driver client devono allocare memoria sufficiente per contenere una struttura USBD_PIPE_INFORMATION per ogni endpoint nelle interfacce selezionate.

I driver possono usare la routine di servizio di USBD_CreateConfigurationRequestEx per allocare l'ENTITÀ.

Altri membri che fanno parte di questa struttura, ma non descritti qui devono essere considerati opachi e considerati riservati per l'uso del sistema.

Requisiti

Requisito Valore
Intestazione usb.h (include Usb.h)

Vedi anche

URB

Strutture USB

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER