Intel Extensible Firmware Interface User Manual
Page 586
Extensible Firmware Interface Specification
14-46 12/01/02
Version
1.10
InterruptCallback
The Callback function. This function is called if the asynchronous
interrupt transfer is completed. This parameter is required when
IsNewTransfer
is
TRUE
. See “Related Definitions” for the
definition of this type.
Related Definitions
typedef
EFI_STATUS
(EFIAPI
* EFI_ASYNC_USB_TRANSFER_CALLBACK) (
IN VOID
*Data,
IN UINTN
DataLength,
IN VOID
*Context,
IN UINT32
Status
);
Data
Data received or sent via the USB Asynchronous Transfer, if the
transfer completed successfully.
DataLength
The
length
of
Data
received or sent via the Asynchronous
Transfer, if transfer successfully completes.
Context
Data passed from
request.
Status
Indicates the result of the asynchronous transfer.
Description
This function allows a USB device driver to communicate with a USB device with an Interrupt
Transfer. Asynchronous Interrupt transfer is different than the other four transfer types because it is
a nonblocking transfer. The interrupt endpoint is queried at a fixed rate, and the data transfer
direction is always in the direction from the USB device towards the system.
If
IsNewTransfer
is
TRUE
, then an interrupt transfer is started at a fixed rate. The rate is
specified by
PollingInterval
, the size of the receive buffer is specified by
DataLength
,
and the callback function is specified by
InterruptCallback
.
If
IsNewTransfer
is
FALSE
, then the interrupt transfer is canceled.
Status Code Returned
EFI_SUCCESS
The asynchronous USB transfer request has been successfully executed.
EFI_DEVICE_ERROR
The asynchronous USB transfer request failed.