---
title: withData
framework: driverkit
role: symbol
role_heading: Static Method
path: driverkit/osdata/withdata-4rd8n
---

# withData

Allocates an OSData object with a copy of bytes from a subset of another OSData.

## Declaration

```occ
static OSDataPtr withData(const OSData *inData, size_t start, size_t numBytes);
```

## Parameters

- `inData`: An OSData object to copy. The data will be copied at the time of the call.
- `start`: An offset into the OSData object to copy from.
- `numBytes`: The length of data to copy. If (start + numBytes) exceeds the length of inData, the call will fail.

## Return Value

Return Value NULL on failure, otherwise the allocated OSData with reference count 1 to be released by the caller.

## See Also

### Creating a Data Object

- [withBytes](driverkit/osdata/withbytes.md)
- [withBytesNoCopy](driverkit/osdata/withbytesnocopy.md)
- [withCapacity](driverkit/osdata/withcapacity.md)
- [withData](driverkit/osdata/withdata-9y3g.md)
- [OSDataCreate](driverkit/osdatacreate.md)
- [OSDataPtr](driverkit/osdataptr.md)
- [free](driverkit/osdata/free.md)
