<!--
{
  "documentType" : "article",
  "framework" : "DiskArbitration",
  "identifier" : "/documentation/DiskArbitration/diskarbitration-h",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "DiskArbitration.h"
}
-->

# DiskArbitration.h

Register for mount/unmount notifications, and block mount/unmount events.

## Overview

See the Overview section above for header-level documentation.

## Overview

### Included Headers

- <CoreFoundation/CoreFoundation.h>
- <DiskArbitration/DADisk.h>
- <DiskArbitration/DADissenter.h>
- <DiskArbitration/DASession.h>

## Topics

### Miscellaneous

[`DADiskClaim(_:_:_:_:_:_:)`](/documentation/DiskArbitration/DADiskClaim(_:_:_:_:_:_:))

Claims the specified disk object for exclusive use.

[`DADiskEject(_:_:_:_:)`](/documentation/DiskArbitration/DADiskEject(_:_:_:_:))

Ejects the specified disk object.

[`DADiskGetOptions(_:)`](/documentation/DiskArbitration/DADiskGetOptions(_:))

Obtains the options for the specified disk.

[`DADiskIsClaimed(_:)`](/documentation/DiskArbitration/DADiskIsClaimed(_:))

Reports whether or not the disk is claimed.

[`DADiskMount(_:_:_:_:_:)`](/documentation/DiskArbitration/DADiskMount(_:_:_:_:_:))

Mounts the volume at the specified disk object.

[`DADiskMountWithArguments(_:_:_:_:_:_:)`](/documentation/DiskArbitration/DADiskMountWithArguments(_:_:_:_:_:_:))

Mounts the volume at the specified disk object, with the specified mount options.

[`DADiskRename(_:_:_:_:_:)`](/documentation/DiskArbitration/DADiskRename(_:_:_:_:_:))

Renames the volume at the specified disk object.

[`DADiskSetOptions(_:_:_:)`](/documentation/DiskArbitration/DADiskSetOptions(_:_:_:))

Sets the options for the specified disk.

[`DADiskUnclaim(_:)`](/documentation/DiskArbitration/DADiskUnclaim(_:))

Unclaims the specified disk object.

[`DADiskUnmount(_:_:_:_:)`](/documentation/DiskArbitration/DADiskUnmount(_:_:_:_:))

Unmounts the volume at the specified disk object.

[`DARegisterDiskAppearedCallback(_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskAppearedCallback(_:_:_:_:))

Registers a callback function to be called whenever a disk has appeared.

[`DARegisterDiskDescriptionChangedCallback(_:_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskDescriptionChangedCallback(_:_:_:_:_:))

Registers a callback function to be called whenever a disk description has changed.

[`DARegisterDiskDisappearedCallback(_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskDisappearedCallback(_:_:_:_:))

Registers a callback function to be called whenever a disk has disappeared.

[`DARegisterDiskEjectApprovalCallback(_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskEjectApprovalCallback(_:_:_:_:))

Registers a callback function to be called whenever a volume is to be ejected.

[`DARegisterDiskMountApprovalCallback(_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskMountApprovalCallback(_:_:_:_:))

Registers a callback function to be called whenever a volume is to be mounted.

[`DARegisterDiskPeekCallback(_:_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskPeekCallback(_:_:_:_:_:))

Registers a callback function to be called whenever a disk has been probed.

[`DARegisterDiskUnmountApprovalCallback(_:_:_:_:)`](/documentation/DiskArbitration/DARegisterDiskUnmountApprovalCallback(_:_:_:_:))

Registers a callback function to be called whenever a volume is to be unmounted.

[`DAUnregisterApprovalCallback`](/documentation/DiskArbitration/DAUnregisterApprovalCallback)

Unregisters a registered callback function.

[`DAUnregisterCallback(_:_:_:)`](/documentation/DiskArbitration/DAUnregisterCallback(_:_:_:))

Unregisters a registered callback function.

### Callbacks

See the Overview section above for header-level documentation.

[`DADiskAppearedCallback`](/documentation/DiskArbitration/DADiskAppearedCallback)

Type of the callback function used by DARegisterDiskAppearedCallback().

[`DADiskClaimCallback`](/documentation/DiskArbitration/DADiskClaimCallback)

Type of the callback function used by DADiskClaim().

[`DADiskClaimReleaseCallback`](/documentation/DiskArbitration/DADiskClaimReleaseCallback)

Type of the callback function used by DADiskClaim().

[`DADiskDescriptionChangedCallback`](/documentation/DiskArbitration/DADiskDescriptionChangedCallback)

Type of the callback function used by DARegisterDiskDescriptionChangedCallback().

[`DADiskDisappearedCallback`](/documentation/DiskArbitration/DADiskDisappearedCallback)

Type of the callback function used by DARegisterDiskDisappearedCallback().

[`DADiskEjectApprovalCallback`](/documentation/DiskArbitration/DADiskEjectApprovalCallback)

Type of the callback function used by DARegisterDiskEjectApprovalCallback().

[`DADiskEjectCallback`](/documentation/DiskArbitration/DADiskEjectCallback)

Type of the callback function used by DADiskEject().

[`DADiskMountApprovalCallback`](/documentation/DiskArbitration/DADiskMountApprovalCallback)

Type of the callback function used by DARegisterDiskMountApprovalCallback().

[`DADiskMountCallback`](/documentation/DiskArbitration/DADiskMountCallback)

Type of the callback function used by DADiskMount().

[`DADiskPeekCallback`](/documentation/DiskArbitration/DADiskPeekCallback)

Type of the callback function used by DARegisterDiskPeekCallback().

[`DADiskRenameCallback`](/documentation/DiskArbitration/DADiskRenameCallback)

Type of the callback function used by DADiskRename().

[`DADiskUnmountApprovalCallback`](/documentation/DiskArbitration/DADiskUnmountApprovalCallback)

Type of the callback function used by DARegisterDiskUnmountApprovalCallback().

[`DADiskUnmountCallback`](/documentation/DiskArbitration/DADiskUnmountCallback)

Type of the callback function used by DADiskUnmount().

### Constants

[Global Variables](/documentation/DiskArbitration/global-variables)

[`DADiskClaimOptions`](/documentation/DiskArbitration/DADiskClaimOptions)

Options for DADiskClaim().

[`DADiskEjectOptions`](/documentation/DiskArbitration/DADiskEjectOptions)

Options for DADiskEject().

[`DADiskMountOptions`](/documentation/DiskArbitration/DADiskMountOptions)

Options for DADiskMount().

[`DADiskOptions`](/documentation/DiskArbitration/DADiskOptions)

Options for DADiskGetOptions() and DADiskSetOptions().

[`DADiskRenameOptions`](/documentation/DiskArbitration/DADiskRenameOptions)

Options for DADiskRename().

[`DADiskUnmountOptions`](/documentation/DiskArbitration/DADiskUnmountOptions)

Options for DADiskUnmount().



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)