---
title: initWithCapacity
framework: kernel
role: pseudoSymbol
path: kernel/iodataqueue/1810950-initwithcapacity
---

# initWithCapacity

Initializes an IODataQueue instance with the capacity specified in the size parameter.

## Declaration

```occ
virtual Boolean initWithCapacity(
 UInt32size); 
```

## Parameters

- `size`: The size of the data queue memory region.

## Return Value

Return Value Returns true on success and false on failure.

## Overview

Overview The actual size of the entire data queue memory region (to be shared into a user process) is equal to the capacity plus the IODataQueueMemory overhead. This overhead value can be determined from the DATA_QUEUE_MEMORY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>. The size of the data queue memory region must include space for the overhead of each IODataQueueEntry. This entry overhead can be determined from the DATA_QUEUE_ENTRY_HEADER_SIZE macro in <IOKit/IODataQueueShared.h>.

## See Also

### Miscellaneous

- [enqueue](kernel/iodataqueue/1810927-enqueue.md)
- [getMemoryDescriptor](kernel/iodataqueue/1810939-getmemorydescriptor.md)
- [initWithEntries](kernel/iodataqueue/1810963-initwithentries.md)
- [sendDataAvailableNotification](kernel/iodataqueue/1810980-senddataavailablenotification.md)
- [setNotificationPort](kernel/iodataqueue/1810994-setnotificationport.md)
- [withCapacity](kernel/iodataqueue/1811001-withcapacity.md)
- [withEntries](kernel/iodataqueue/1811020-withentries.md)
