Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La struttura USB_DESCRIPTOR_REQUEST viene usata con la richiesta di controllo I/O IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION per recuperare uno o più descrittori per il dispositivo associato all'indice di connessione indicato. I campi in questa struttura sono descritti nella specifica universal serial bus 3.1 disponibile in raccolta documenti USB.
Sintassi
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;
Membri
ConnectionIndex
Porta i cui descrittori vengono recuperati.
SetupPacket
I membri della SetupPacket struttura definita in base alla specifica ufficiale. Vedere la sezione 9.3.
SetupPacket.bmRequest
Tipo di richiesta di dispositivo USB (standard, classe o fornitore), direzione del trasferimento dei dati e tipo di destinatario dati (dispositivo, interfaccia o endpoint). All'input della richiesta di controllo I/O IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, lo stack USB ignora il valore di bmRequest e inserisce un valore di 0x80. Questo valore indica una richiesta di dispositivo USB standard e un trasferimento dei dati da dispositivo a host.
SetupPacket.bRequest
Numero di richiesta. All'input della richiesta di controllo I/O IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, lo stack USB ignora il valore di bRequest e inserisce un valore di 0x06. Questo valore indica una richiesta di GET_DESCRIPTOR.
SetupPacket.wValue
All'input della richiesta di controllo I/O IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, il chiamante deve specificare il tipo di descrittore da recuperare nel byte elevato di wValue e l'indice descrittore nel byte basso. Nella tabella seguente sono elencati i possibili tipi di descrittore. Questi tipi costanti sono definiti nell'intestazione Usbspec.h inclusa in Windows Driver Kit.
| Tipo descrittore | Significato |
|---|---|
| USB_DEVICE_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore del dispositivo. |
| USB_CONFIGURATION_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore di configurazione e tutte le interfacce, endpoint, descrittori specifici della classe e specifici del fornitore associati alla configurazione corrente. |
| USB_STRING_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore di stringa indicato. |
| USB_INTERFACE_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore di interfaccia indicato. |
| USB_ENDPOINT_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore dell'endpoint indicato. |
SetupPacket.wIndex
Indice specifico del dispositivo del descrittore da recuperare.
SetupPacket.wLength
Lunghezza dei dati trasferiti durante la seconda fase del trasferimento del controllo.
Data[0]
Nell'output della richiesta di controllo I/O IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, questo membro contiene i descrittori recuperati.
Osservazioni
Se il chiamante specifica un valore di USB_CONFIGURATION_DESCRIPTOR_TYPE nel membro wValue, il buffer di output deve essere sufficientemente grande da contenere tutti i descrittori associati alla configurazione corrente oppure la richiesta avrà esito negativo.
Fabbisogno
| Requisito | Valore |
|---|---|
| intestazione | usbioctl.h (include Usbioctl.h) |