IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)
Questo codice di controllo I/O (IOCTL) viene inviato da un servizio o da un'applicazione in modalità utente per ottenere l'intero descrittore di interfaccia USB (Universal Serial Bus) impostato per una funzione nel dispositivo.
Buffer di input
Puntatore a una struttura USBFN_INTERFACE_INFO .
Lunghezza del buffer di input
Dimensione di una struttura 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
Dimensioni di un USBFN_INTERFACE_INFO.
Commenti
Questa richiesta deve essere inviata dopo l'invio della richiesta di IOCTL_GENERICUSBFN_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.
Se il codice di controllo I/O (IOCTL) viene chiamato in modo sincrono, impostare il parametro lpOverlapped su NULL. Se questo IOCTL viene chiamato in modo asincrono, assegnare il parametro lpOverlapped a un puntatore a una struttura OVERLAPPED che contiene un handle a un oggetto evento. Gli oggetti evento segnalano quando l'operazione viene completata.
Il valore restituito è un valore BOOL che indica l'esito positivo o negativo dell'operazione. TRUE indica l'esito positivo, FALSE in caso contrario.
Requisiti
Requisito | Valore |
---|---|
Intestazione | genericusbfnioctl.h (include GenericUsbFnIoctl.h) |