---
title: IODataQueueDispatchSource
framework: driverkit
role: symbol
role_heading: Class
path: driverkit/iodataqueuedispatchsource
---

# IODataQueueDispatchSource

A dispatch source that manages a shared-memory data queue.

## Declaration

```occ
class IODataQueueDispatchSource;
```

## Mentioned in

Creating a Driver Using the DriverKit SDK

## Topics

### Configuring the Dispatch Source

- [Create](driverkit/iodataqueuedispatchsource/create.md)
- [init](driverkit/iodataqueuedispatchsource/init.md)
- [free](driverkit/iodataqueuedispatchsource/free.md)

### Adding Work to the Queue

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

### Removing Work from the Queue

- [SetDataAvailableHandler](driverkit/iodataqueuedispatchsource/setdataavailablehandler.md)
- [DataAvailable](driverkit/iodataqueuedispatchsource/dataavailable.md)
- [IsDataAvailable](driverkit/iodataqueuedispatchsource/isdataavailable.md)
- [Peek](driverkit/iodataqueuedispatchsource/peek.md)
- [Dequeue](driverkit/iodataqueuedispatchsource/dequeue.md)
- [DequeueWithCoalesce](driverkit/iodataqueuedispatchsource/dequeuewithcoalesce.md)
- [SendDataServiced](driverkit/iodataqueuedispatchsource/senddataserviced.md)
- [IODataQueueClientDequeueEntryBlock](driverkit/iodataqueueclientdequeueentryblock.md)

### Starting and Stopping the Dispatch Source

- [SetEnableWithCompletion](driverkit/iodataqueuedispatchsource/setenablewithcompletion.md)
- [Cancel](driverkit/iodataqueuedispatchsource/cancel.md)

### Performing Internal Tasks

- [CopyDataAvailableHandler](driverkit/iodataqueuedispatchsource/copydataavailablehandler.md)
- [CopyDataServicedHandler](driverkit/iodataqueuedispatchsource/copydataservicedhandler.md)
- [CopyMemory](driverkit/iodataqueuedispatchsource/copymemory.md)
- [CheckForWork](driverkit/iodataqueuedispatchsource/checkforwork.md)

### Instance Methods

- [CanEnqueueData](driverkit/iodataqueuedispatchsource/canenqueuedata-4tug8.md)
- [CanEnqueueData](driverkit/iodataqueuedispatchsource/canenqueuedata-3yyz2.md)

### Type Methods

- [GetDataQueueEntryHeaderSize](driverkit/iodataqueuedispatchsource/getdataqueueentryheadersize.md)

## Relationships

### Inherits From

- [IODispatchSource](driverkit/iodispatchsource.md)

## See Also

### Event management

- [IODispatchQueue](driverkit/iodispatchqueue.md)
- [IOInterruptDispatchSource](driverkit/iointerruptdispatchsource.md)
- [IOTimerDispatchSource](driverkit/iotimerdispatchsource.md)
- [IODispatchSource](driverkit/iodispatchsource.md)
- [OSAction](driverkit/osaction.md)
