IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)
Dieser E/A-Steuercode (IOCTL) wird von einem Benutzermodusdienst oder einer Anwendung gesendet, um den gesamten USB-Schnittstellendeskriptor (Universal Serial Bus) für eine Funktion auf dem Gerät festzulegen.
Eingabepuffer
Ein Zeiger auf eine USBFN_INTERFACE_INFO-Struktur .
Länge des Eingabepuffers
Die Größe einer USBFN_INTERFACE_INFO-Struktur .
Ausgabepuffer
Ein Zeiger auf einen Puffer, der eine USBFN_INTERFACE_INFO-Struktur enthält. Die USB-Funktionsklassenerweiterung (UFX) füllt die Struktur mit dem gesamten Schnittstellendeskriptor auf, der einschließlich seiner Endpunktdeskriptoren festgelegt ist.
Länge des Ausgabepuffers
Die Größe eines USBFN_INTERFACE_INFO.
Hinweise
Diese Anforderung muss nach dem Senden der IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS-Anforderung gesendet werden.
Die Länge des gesamten Schnittstellendeskriptors ist variabel. Der Klassentreiber muss diese IOCTL-Anforderung möglicherweise zweimal senden, um den gesamten Deskriptor festzulegen.
Wenn die Länge des gesamten Deskriptorsatzes größer als die angegebene Ausgabepufferlänge ist, legt UFX den Size-Member von USBFN_INTERFACE_INFO auf die tatsächliche Pufferlänge fest und schlägt die Anforderung mit STATUS_BUFFER_TOO_SMALL fehl. Der Treiber muss dann einen durch Size angegebenen Ausgabepuffer der Länge zuweisen und die Anforderung erneut senden.
Wenn dieser E/A-Kontrollcode (IOCTL) synchron aufgerufen wird, legen Sie den parameter lpOverlapped auf NULL fest. Wenn diese IOCTL asynchron aufgerufen wird, weisen Sie den lpOverlapped-Parameter einem Zeiger auf eine OVERLAPPED-Struktur zu, die ein Handle für ein Ereignisobjekt enthält. Die Ereignisobjekte signalisieren, wenn der Vorgang abgeschlossen ist.
Der Rückgabewert ist ein BOOL-Wert, der den Erfolg oder Fehler des Vorgangs angibt. TRUE gibt den Erfolg an, andernfalls FALSE.
Anforderungen
Anforderung | Wert |
---|---|
Header | genericusbfnioctl.h (include GenericUsbFnIoctl.h) |