Condividi tramite


struttura USB_DESCRIPTOR_REQUEST (usbioctl.h)

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)

Vedere anche

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

strutture USB