DeviceRequest(IOUSBDevRequest *, UInt32, UInt32, IOUSBCompletion *)
execute a control request to the default control pipe (pipe zero)
Declaration
virtual IOReturn DeviceRequest(
IOUSBDevRequest *request,
UInt32 noDataTimeout,
UInt32 completionTimeout,
IOUSBCompletion *completion = 0);Parameters
- request:
The parameter block to send to the device
- 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
CreateInterfaceIteratorDeviceRequest(IOUSBDevRequestDesc *, UInt32, UInt32, IOUSBCompletion *)DisplayUserNotificationDoLocationOverrideAndModelMatchFindNextInterfaceFindNextInterfaceDescriptorGetAddressGetBusGetBusPowerAvailableGetChildLocationIDGetConfigurationGetConfigurationDescriptorGetDeviceInformationGetDeviceReleaseGetDeviceStatusGetExtraPowerAllocatedGetFullConfigurationDescriptorGetHubParentGetManufacturerStringIndexGetMaxPacketSizeGetNumConfigurationsGetPipeZeroGetProductIDGetProductStringIndexGetSerialNumberStringIndexGetSpeedGetStringDescriptorGetVendorIDMakePipeOpenOrCloseAllInterfacePipesReEnumerateDeviceRequestExtraPowerResetDeviceReturnExtraPowerSetAddressSetConfiguration(IOService *, UInt8, bool)SetConfiguration(IOService *, UInt8, bool, bool)SetHubParentSuspendDevice