IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (usbfnioctl.h)

Il driver di classe invia questa richiesta per ottenere l'intero descrittore dell'interfaccia USB impostato per una funzione nel dispositivo.

Nota Non usare questa richiesta per recuperare il descrittore di interfaccia impostato per l'intero dispositivo.
 

Codice principale

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer di input

Puntatore a un buffer contenente una struttura USBFN_INTERFACE_INFO .

Lunghezza del buffer di input

La lunghezza del buffer di input deve essere almeno sizeof(USBFN_INTERFACE_INFO).

Buffer di output

Puntatore a un buffer contenente una struttura USBFN_INTERFACE_INFO . L'estensione della classe di funzione USB (UFX) popola la struttura con l'intero set di descrittori di interfaccia, inclusi i descrittori dell'endpoint.

Lunghezza del buffer di output

La lunghezza del buffer di output deve essere almeno sizeof(USBFN_INTERFACE_INFO).

Blocco dello stato

Se la richiesta ha esito positivo, l'estensione della classe di funzione USB (UFX) restituisce STATUS_SUCCESS o un altro valore di stato per il quale NT_SUCCESS(stato) è uguale a TRUE. In caso contrario, restituisce un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.

Commenti

Questa richiesta deve essere inviata dopo l'invio della richiesta di IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .

La lunghezza dell'intero descrittore di interfaccia è variabile. Il driver di classe potrebbe dover inviare due volte questa richiesta IOCTL per ottenere l'intero set di descrittori.

Se la lunghezza dell'intero set di descrittore è maggiore della lunghezza del buffer di output specificata, UFX imposta il membro Size di USBFN_INTERFACE_INFO sulla lunghezza effettiva del buffer e non riesce la richiesta con STATUS_BUFFER_TOO_SMALL. Il driver deve quindi allocare un buffer di output di lunghezza specificato da Size e inviare di nuovo la richiesta.

Requisiti

Requisito Valore
Intestazione usbfnioctl.h

Vedi anche

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO