---
title: copyPhysicalExtent
framework: kernel
role: pseudoSymbol
path: kernel/iopartitionscheme/1810278-copyphysicalextent
---

# copyPhysicalExtent

## Declaration

```occ
virtual IOStorage * copyPhysicalExtent(
 IOService *client, 
 UInt64 *byteStart, 
 UInt64 *byteCount); 
```

## Parameters

- `client`: Client requesting the operation.
- `byteStart`: Starting byte offset for the operation. Returns a physical byte offset, relative to the physical storage object, on success.
- `byteCount`: Size of the operation. Returns the actual number of bytes which can be transferred, relative to the physical storage object, on success.

## Return Value

Return Value A reference to the physical storage object, which should be released by the caller, or a null on error.

## Overview

Overview Convert the specified byte offset into a physical byte offset, relative to a physical storage object. This call should only be made within the context of lockPhysicalExtents().

## See Also

### Miscellaneous

- [handleClose](kernel/iopartitionscheme/1810310-handleclose.md)
- [handleIsOpen](kernel/iopartitionscheme/1810337-handleisopen.md)
- [handleOpen](kernel/iopartitionscheme/1810366-handleopen.md)
- [lockPhysicalExtents](kernel/iopartitionscheme/1810387-lockphysicalextents.md)
- [read](kernel/iopartitionscheme/1810409-read.md)
- [synchronizeCache](kernel/iopartitionscheme/1810446-synchronizecache.md)
- [unlockPhysicalExtents](kernel/iopartitionscheme/1810496-unlockphysicalextents.md)
- [unmap](kernel/iopartitionscheme/1810548-unmap.md)
- [write](kernel/iopartitionscheme/1810601-write.md)
