---
title: CompleteAsyncIO
framework: usbdriverkit
role: symbol
role_heading: Instance Method
path: usbdriverkit/iousbhostpipe/completeasyncio
---

# CompleteAsyncIO

Handles the completion of an asynchronous I/O request.

## Declaration

```occ
virtual void CompleteAsyncIO(OSAction *action, IOReturn status, uint32_t actualByteCount, uint64_t completionTimestamp);
```

## Parameters

- `action`: A pointer to the doc://com.apple.documentation/documentation/DriverKit/OSAction object of the request.
- `status`: The result of the operation.
- `actualByteCount`: The number of bytes that the operation actually transferred.
- `completionTimestamp`: The absolute time that the transfer completed.

## 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

### Interacting with Bulk and Interrupt Endpoints

- [IO](usbdriverkit/iousbhostpipe/io.md)
- [AsyncIO](usbdriverkit/iousbhostpipe/asyncio.md)
