---
title: EnqueueWithCoalesce
framework: driverkit
role: symbol
role_heading: Instance Method
path: driverkit/iodataqueuedispatchsource/enqueuewithcoalesce
---

# EnqueueWithCoalesce

Adds an entry to the queue, but doesn’t automatically send a data-available notification.

## Declaration

```occ
kern_return_t EnqueueWithCoalesce(uint32_t dataSize, bool *sendDataAvailable, IODataQueueClientEnqueueEntryBlock callback);
```

## Parameters

- `dataSize`: The size of the data to enqueue.
- `sendDataAvailable`: A Boolean value that indicates that this method would have sent a notification. Initialize the value to false, and then make one or more calls to this method. If the value is true after all of those calls, call the doc://com.apple.driverkit/documentation/DriverKit/IODataQueueDispatchSource/SendDataAvailable method yourself to deliver the notification.
- `callback`: The callback to execute when there is enough space to enqueue the data.

## Return Value

Return Value kIOReturnSuccess on success, kIOReturnOverrun if the queue was full, or kIOReturnError if the queue is corrupt. See Error Codes.

## See Also

### Adding Work to the Queue

- [SetDataServicedHandler](driverkit/iodataqueuedispatchsource/setdataservicedhandler.md)
- [DataServiced](driverkit/iodataqueuedispatchsource/dataserviced.md)
- [Enqueue](driverkit/iodataqueuedispatchsource/enqueue.md)
- [SendDataAvailable](driverkit/iodataqueuedispatchsource/senddataavailable.md)
- [IODataQueueClientEnqueueEntryBlock](driverkit/iodataqueueclientenqueueentryblock.md)
