USB_DESCRIPTOR_REQUEST struttura (usbioctl.h)
La struttura USB_DESCRIPTOR_REQUEST viene usata con la richiesta di controllo I/O di IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION per recuperare uno o più descrittori per il dispositivo associato all'indice di connessione indicato. I campi di questa struttura sono descritti nella specifica Universal Serial Bus 3.1 disponibile nella 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;
Members
ConnectionIndex
Porta i cui descrittori vengono recuperati.
SetupPacket
I membri della struttura SetupPacket definiti come per la 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). In input alla IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION richiesta di controllo I/O, 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. In input alla richiesta di controllo IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O, lo stack USB ignora il valore di bRequest e inserisce un valore di 0x06. Questo valore indica una richiesta di GET_DESCRIPTOR.
SetupPacket.wValue
In input alla 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 nell'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 nel Kit driver di Windows.
Tipo di 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, gli endpoint, i descrittori specifici della classe e i descrittori specifici del fornitore associati alla configurazione corrente. |
USB_STRING_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore stringa indicato. |
USB_INTERFACE_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore dell'interfaccia indicato. |
USB_ENDPOINT_DESCRIPTOR_TYPE | Indica allo stack USB di restituire il descrittore dell'endpoint indicato. |
SetupPacket.wIndex
Indice specifico del descrittore che deve essere recuperato.
SetupPacket.wLength
Lunghezza dei dati trasferiti durante la seconda fase del trasferimento del controllo.
Data[0]
Nell'output della richiesta di controllo IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION I/O, questo membro contiene i descrittori recuperati.
Commenti
Se il chiamante specifica un valore di USB_CONFIGURATION_DESCRIPTOR_TYPE nel membro wValue , il buffer di output deve essere sufficiente per contenere tutti i descrittori associati alla configurazione corrente oppure la richiesta avrà esito negativo.
Requisiti
Requisito | Valore |
---|---|
Intestazione | usbioctl.h (include Usbioctl.h) |