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