IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (genericusbfnioctl.h)

This I/O control code (IOCTL) is sent by a user-mode service or application to issue an IN direction transfer on the endpoint that corresponds to the specified pipe ID in the input buffer. A zero-length packet is automatically appended after the data in the output buffer is successfully sent and the transfer payload size is a multiple of the endpoint's maximum packet size. This should be used on the last I/O request that corresponds to a Universal Serial Bus (USB) transfer.

Input buffer

A USBFNPIPEID that specifies the ID of the pipe to conduct the transfer on.

Input buffer length

The size of a USBFNPIPEID.

Output buffer

The data to send to the host.

Output buffer length

The size of the output buffer in bytes.

Remarks

If this I/O control code (IOCTL) is being called synchronously, set the lpOverlapped parameter to NULL. If this IOCTL is called asynchronously, assign the lpOverlapped parameter to a pointer to an OVERLAPPED structure that contains a handle to an event object. The event objects signal when the operation is completed.

The return value is a BOOL value that indicates success or failure of the operation. TRUE indicates success, FALSE otherwise.

Requirements

Requirement Value
Header genericusbfnioctl.h (include GenericUsbFnIoctl.h)

See also

DeviceIoControl

IOCTL_GENERICUSBFN_TRANSFER_IN

IOCTL_GENERICUSBFN_TRANSFER_OUT