Contents

DeviceRequest(IOUSBDevRequestDesc *, UInt32, UInt32, IOUSBCompletion *)

execute a control request to the default control pipe (pipe zero)

Declaration

virtual IOReturn DeviceRequest(
 IOUSBDevRequestDesc *request, 
 UInt32 noDataTimeout, 
 UInt32 completionTimeout, 
 IOUSBCompletion *completion = 0);

Parameters

  • request:

    The parameter block to send to the device (with the pData as an IOMemoryDesriptor)

  • noDataTimeout:

    Specifies an amount of time (in ms) after which the command will be aborted if no data has been transferred on the bus.

  • completionTimeout:

    Specifies an amount of time (in ms) after which the command will be aborted if the entire command has not been completed.

  • completion:

    Function to call when request completes. If omitted then DeviceRequest() executes synchronously, blocking until the request is complete. If the request is asynchronous, the client must make sure that the IOUSBDevRequest is not released until the callback has occurred.

See Also

Miscellaneous