Freigeben über


IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (usbfnioctl.h)

Der Klassentreiber sendet diese Anforderung, um eine IN-Übertragung an die angegebene Pipe zu initiieren, und fügt ein Paket der Länge null an, um das Ende der Übertragung anzugeben.

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Ein Zeiger auf einen USBFNPIPEID-Typ , der die Pipe-ID angibt.

Eingabepufferlänge

Die Größe eines USBFNPIPEID-Typs .

Ausgabepuffer

Der Ausgabepuffer zeigt auf einen Datenpuffer, der die zu sendenden Daten enthält. Die IN-Richtung ist aus der Hostperspektive, die eine ausgehende Übertragung vom Gerät an den Host darstellt.

Länge des Ausgabepuffers

Die Größe der zu sendenden Daten.

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) true entspricht. Andernfalls wird ein status Wert zurückgegeben, für den NT_SUCCESS(status) false entspricht.

Hinweise

Diese Anforderung muss nach dem Senden der IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS-Anforderung gesendet werden.

UFX leitet diese IOCTL-Anforderung an die Übertragungswarteschlange weiter, die von UfxEndpointCreate für den Endpunkt erstellt wurde.

Der Funktionscontroller initiiert eine Übertragung in IN-Richtung auf dem Endpunkt und fügt automatisch eine Paketübertragung der Länge null an, nachdem die im Datenpuffer bereitgestellten Daten erfolgreich gesendet wurden. Ein Paket der Länge null wird vom Controller nur angefügt, wenn die Größe der Übertragungsnutzlast ein Vielfaches der maximalen Paketgröße des Endpunkts ist.

Anforderungen

Anforderung Wert
Header usbfnioctl.h