---
title: handleOpen
framework: kernel
role: pseudoSymbol
path: kernel/ioblockstoragedriver/1812007-handleopen
---

# handleOpen

## Declaration

```occ
virtual bool handleOpen(
 IOService *client, 
 IOOptionBitsoptions, 
 void *access); 
```

## Parameters

- `client`: Client requesting the open.
- `options`: Options for the open. Set to zero.
- `access`: Access level for the open. Set to kIOStorageAccessReader or kIOStorageAccessReaderWriter.

## Return Value

Return Value Returns true if the open was successful, false otherwise.

## Overview

Overview The handleOpen method grants or denies permission to access this object to an interested client. The argument is an IOStorageAccess value that specifies the level of access desired -- reader or reader-writer. This method can be invoked to upgrade or downgrade the access level for an existing client as well. The previous access level will prevail for upgrades that fail, of course. A downgrade should never fail. If the new access level should be the same as the old for a given client, this method will do nothing and return success. In all cases, one, singular close-per-client is expected for all opens-per-client received. This implementation replaces the IOService definition of handleIsOpen().

## See Also

### Miscellaneous

- [acceptNewMedia](kernel/ioblockstoragedriver/1811574-acceptnewmedia.md)
- [addToBytesTransferred](kernel/ioblockstoragedriver/1811596-addtobytestransferred.md)
- [allocateContext](kernel/ioblockstoragedriver/1811624-allocatecontext.md)
- [breakUpRequest](kernel/ioblockstoragedriver/1811639-breakuprequest.md)
- [checkForMedia](kernel/ioblockstoragedriver/1811654-checkformedia.md)
- [constrainByteCount](kernel/ioblockstoragedriver/1811669-constrainbytecount.md)
- [copyPhysicalExtent](kernel/ioblockstoragedriver/1811687-copyphysicalextent.md)
- [deblockRequest](kernel/ioblockstoragedriver/1811703-deblockrequest.md)
- [decommissionMedia](kernel/ioblockstoragedriver/1811732-decommissionmedia.md)
- [deleteContext](kernel/ioblockstoragedriver/1811760-deletecontext.md)
- [ejectMedia](kernel/ioblockstoragedriver/1811792-ejectmedia.md)
- [executeRequest](kernel/ioblockstoragedriver/1811817-executerequest.md)
- [formatMedia](kernel/ioblockstoragedriver/1811835-formatmedia.md)
- [getDeviceTypeName](kernel/ioblockstoragedriver/1811863-getdevicetypename.md)
- [getFormatCapacities](kernel/ioblockstoragedriver/1811884-getformatcapacities.md)
- [getMediaBlockSize](kernel/ioblockstoragedriver/1811916-getmediablocksize.md)
- [getMediaState](kernel/ioblockstoragedriver/1811940-getmediastate.md)
- [getStatistic](kernel/ioblockstoragedriver/1811958-getstatistic.md)
- [getStatistics](kernel/ioblockstoragedriver/1811976-getstatistics.md)
- [handleClose](kernel/ioblockstoragedriver/1811990-handleclose.md)
- [handleIsOpen](kernel/ioblockstoragedriver/1811999-handleisopen.md)
- [handleStart](kernel/ioblockstoragedriver/1812019-handlestart.md)
- [incrementErrors](kernel/ioblockstoragedriver/1812024-incrementerrors.md)
- [incrementRetries](kernel/ioblockstoragedriver/1812030-incrementretries.md)
- [initMediaState](kernel/ioblockstoragedriver/1812034-initmediastate.md)
- [instantiateDesiredMediaObject](kernel/ioblockstoragedriver/1812038-instantiatedesiredmediaobject.md)
- [instantiateMediaObject](kernel/ioblockstoragedriver/1812042-instantiatemediaobject.md)
- [isMediaEjectable](kernel/ioblockstoragedriver/1812044-ismediaejectable.md)
- [isMediaRemovable](kernel/ioblockstoragedriver/1812049-ismediaremovable.md)
- [isMediaWritable](kernel/ioblockstoragedriver/1812052-ismediawritable.md)
- [lockPhysicalExtents](kernel/ioblockstoragedriver/1812055-lockphysicalextents.md)
- [mediaStateHasChanged](kernel/ioblockstoragedriver/1812057-mediastatehaschanged.md)
- [prepareRequest](kernel/ioblockstoragedriver/1812063-preparerequest.md)
- [read](kernel/ioblockstoragedriver/1812076-read.md)
- [recordMediaParameters](kernel/ioblockstoragedriver/1812090-recordmediaparameters.md)
- [rejectMedia](kernel/ioblockstoragedriver/1812100-rejectmedia.md)
- [requestIdle](kernel/ioblockstoragedriver/1812117-requestidle.md)
- [synchronizeCache](kernel/ioblockstoragedriver/1812132-synchronizecache.md)
- [unlockPhysicalExtents](kernel/ioblockstoragedriver/1812149-unlockphysicalextents.md)
- [unmap](kernel/ioblockstoragedriver/1812179-unmap.md)
- [validateNewMedia](kernel/ioblockstoragedriver/1812204-validatenewmedia.md)
- [write](kernel/ioblockstoragedriver/1812222-write.md)
