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)

Vedi anche

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

Strutture USB