---
title: CompleteAsyncDeviceRequest
framework: usbdriverkit
role: symbol
role_heading: Instance Method
path: usbdriverkit/iousbhostdevice/completeasyncdevicerequest
---

# CompleteAsyncDeviceRequest

The type definition for an asynchronous device request completion routine.

## Declaration

```occ
virtual void CompleteAsyncDeviceRequest(OSAction *action, IOReturn status, uint32_t bytesTransferred);
```

## Parameters

- `action`: A pointer to the OSAction object of the async request.
- `status`: The result of the operation.
- `bytesTransferred`: The byte count of the completed data phase.

## Discussion

Discussion Implement a custom version of this method and use the TYPE macro to let the system know that your method conforms to this prototype.

## See Also

### Requesting Information from the Device

- [DeviceRequest](usbdriverkit/iousbhostdevice/devicerequest.md)
- [AsyncDeviceRequest](usbdriverkit/iousbhostdevice/asyncdevicerequest.md)
- [AbortDeviceRequests](usbdriverkit/iousbhostdevice/abortdevicerequests.md)
