Efi_usb_io_protocol.usbasyncinterrupttransfer(), Usbasyncinterrupttransfer(), Func – Intel Extensible Firmware Interface User Manual
Page 585
Protocols
— USB Support
Version 1.10
12/01/02
14-45
EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer()
Summary
This function is used to manage a USB device with an interrupt transfer pipe. An Asynchronous
Interrupt Transfer is typically used to query a device’s status at a fixed rate. For example,
keyboard, mouse, and hub devices use this type of transfer to query their interrupt endpoints at
a fixed rate.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_ASYNC_INTERRUPT_TRANSFER) (
IN EFI_USB_IO_PROTOCOL
*This,
IN UINT8
DeviceEndpoint,
IN BOOLEAN
IsNewTransfer,
IN UINTN
PollingInterval OPTIONAL,
IN UINTN
DataLength OPTIONAL,
IN EFI_ASYNC_USB_TRANSFER_CALLBACK
InterruptCallBack OPTIONAL,
IN VOID
*Context OPTIONAL
);
Parameters
This
A pointer to the
instance. Type
EFI_USB_IO_PROTOCOL
is defined in Section 14.2.5.
DeviceEndpoint
The destination USB device endpoint to which the device request
is being sent.
DeviceEndpoint
must be between 0x01 and
0x0F or between 0x81 and 0x8F, otherwise
EFI_INVALID_PARAMETER
is returned. If the endpoint is not
an INTERRUPT endpoint,
EFI_INVALID_PARAMETER
is
returned. The MSB of this parameter indicates the endpoint
direction. The number “1” stands for an IN endpoint, and “0”
stands for an OUT endpoint.
IsNewTransfer
If
TRUE
, a new transfer will be submitted to USB controller. If
FALSE
, the interrupt transfer is deleted from the device’s interrupt
transfer queue.
PollingInterval
Indicates the periodic rate, in milliseconds, that the transfer is to be
executed. This parameter is required when
IsNewTransfer
is
TRUE
. The value must be between 1 to 255, otherwise
EFI_INVALID_PARAMETER
is returned. The units are in
milliseconds.
DataLength
Specifies the length, in bytes, of the data to be received from the
USB device. This parameter is only required when
IsNewTransfer
is
TRUE
.
Context
Data passed to the
InterruptCallback
function. This is an
optional parameter and may be
NULL
.