IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (usbfnioctl.h)

Der Klassentreiber sendet diese Anforderung, um den gesamten USB-Schnittstellendeskriptor für eine Funktion auf dem Gerät festzulegen.

Hinweis Verwenden Sie diese Anforderung nicht, um den Schnittstellendeskriptor abzurufen, der für das gesamte Gerät festgelegt ist.
 

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Ein Zeiger auf einen Puffer, der eine USBFN_INTERFACE_INFO-Struktur enthält.

Länge des Eingabepuffers

Die Länge des Eingabepuffers muss mindestens sizeof(USBFN_INTERFACE_INFO)sein.

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 der Endpunktdeskriptoren festgelegt ist.

Länge des Ausgabepuffers

Die Länge des Ausgabepuffers muss mindestens sizeof(USBFN_INTERFACE_INFO)sein.

Statusblock

Wenn die Anforderung erfolgreich ist, gibt die USB-Funktionsklassenerweiterung (UFX) STATUS_SUCCESS oder einen anderen status Wert zurück, für den NT_SUCCESS(status) gleich TRUE ist. Andernfalls wird ein status Wert zurückgegeben, für den NT_SUCCESS(status) gleich FALSE ist.

Hinweise

Diese Anforderung muss nach dem Senden der IOCTL_INTERNAL_USBFN_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.

Anforderungen

Anforderung Wert
Header usbfnioctl.h

Weitere Informationen

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO