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.
Il driver di classe invia questa richiesta per ottenere l'intero descrittore dell'interfaccia USB impostato per una funzione nel 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 di 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 cui NT_SUCCESS(stato) è TRUE. In caso contrario, restituisce un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.
Osservazioni
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 descrittori è maggiore della lunghezza specificata del buffer di output, 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.
Fabbisogno
| Requisito | Valore |
|---|---|
| intestazione | usbfnioctl.h |