Extensible Firmware Interface Specification
14-40 12/01/02 Version 1.10
EFI_USB_IO_PROTOCOL.UsbControlTransfer()
Summary
This function is used to manage a USB device with a control transfer pipe. A control transfer is
typically used to perform device initialization and configuration.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_CONTROL_TRANSFER) (
IN EFI_USB_IO_PROTOCOL *This,
IN EFI_USB_DEVICE_REQUEST *Request,
IN EFI_USB_DATA_DIRECTION Direction,
IN UINT32 Timeout,
IN OUT VOID *Data OPTIONAL,
IN UINTN DataLength OPTIONAL,
OUT UINT32 *Status
);
Parameters
This A pointer to the EFI_USB_IO_PROTOCOL instance. Type
EFI_USB_IO_PROTOCOL is defined in Section 14.2.5.
Request A pointer to the USB device request that will be sent to the USB
device. See “Related Definitions” below.
Direction Indicates the data direction. See “Related Definitions” below for
this type.
Data A pointer to the buffer of data that will be transmitted to USB
device or received from USB device.
Timeout Indicating the transfer should be completed within this time frame.
The units are in milliseconds. If Timeout is 0, then the caller
must wait for the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
DataLength The size, in bytes, of the data buffer specified by Data.
Status A pointer to the result of the USB transfer.