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 eine USBFNPIPEID Typ, der die Pipe-ID angibt.

Eingabepufferlänge

Die Größe eines USBFNPIPEID- Typs.

Ausgabepuffer

Der Ausgabepuffer verweist auf einen Datenpuffer, der die zu sendenden Daten enthält. Die IN-Richtung stammt aus der Hostperspektive, die eine ausgehende Übertragung vom Gerät zum 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 Statuswert zurück, für den NT_SUCCESS(Status) GLEICH TRUE ist. Andernfalls wird ein Statuswert zurückgegeben, für den NT_SUCCESS(Status) GLEICH FALSE ist.

Bemerkungen

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

UFX leitet diese IOCTL-Anforderung an die für den Endpunkt erstellte Übertragungswarteschlange durch UfxEndpointCreateweiter.

Der Funktionscontroller initiiert eine Übertragung in die 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 nur vom Controller angefügt, wenn die Größe der Übertragungsnutzlast ein Vielfaches der maximalen Paketgröße des Endpunkts ist.

Anforderungen

Anforderung Wert
Header- usbfnioctl.h