---
title: CompleteIO
framework: BlockStorageDeviceDriverKit
role: symbol
role_heading: Instance Method
platforms: [driverkit 21.0+]
path: blockstoragedevicedriverkit/iouserblockstoragedevice/completeio
---

# CompleteIO

Indicates that the dext completed an asynchronous read-write call.

## Declaration

```occ
virtual void CompleteIO(uint32_t requestID, uint64_t bytesTransferred, kern_return_t IOStatus);
```

## Parameters

- `requestID`: An opaque identifier, originally provided in the corresponding doc://com.apple.blockstoragedevicedriverkit/documentation/BlockStorageDeviceDriverKit/IOUserBlockStorageDevice/DoAsyncReadWrite call.
- `bytesTransferred`: The number of bytes transferred.
- `IOStatus`: The status of the request.

## Discussion

Discussion The dext calls this method to indicate completion of an asynchronous read-write call. Use the requestID parameter to determine which DoAsyncReadWrite call resulted in this callback.

## See Also

### Accessing the Device

- [DoAsyncUnmap](blockstoragedevicedriverkit/iouserblockstoragedevice/doasyncunmap.md)
- [BlockRange](blockstoragedevicedriverkit/blockrange.md)
- [DoAsyncSynchronize](blockstoragedevicedriverkit/iouserblockstoragedevice/doasyncsynchronize.md)
- [DoAsyncEjectMedia](blockstoragedevicedriverkit/iouserblockstoragedevice/doasyncejectmedia.md)
- [Complete](blockstoragedevicedriverkit/iouserblockstoragedevice/complete.md)
- [DoAsyncReadWrite](blockstoragedevicedriverkit/iouserblockstoragedevice/doasyncreadwrite.md)
- [IOUserStorageOptions](blockstoragedevicedriverkit/iouserstorageoptions.md)
