---
title: BlockStorageDeviceDriverKit
framework: BlockStorageDeviceDriverKit
role: collection
role_heading: Framework
platforms: [driverkit 21.0+]
path: blockstoragedevicedriverkit
---

# BlockStorageDeviceDriverKit

Develop drivers for custom storage devices that communicate with the driver using custom protocols.

## Overview

Overview Use BlockStorageDeviceDriverKit in conjunction with frameworks like PCIDriverKit to create drivers that can communicate with their hardware using custom storage interconnect protocols. Develop your driver by subclassing IOUserBlockStorageDevice and overriding all methods the framework declares as C++ pure virtual. Then package your driver in an app that uses the System Extensions framework to install and upgrade the driver on the user’s Mac. note: BlockStorageDeviceDriverKit is available on macOS.

## Topics

### Essentials

- [com.apple.developer.driverkit.family.block-storage-device](bundleresources/entitlements/com.apple.developer.driverkit.family.block-storage-device.md)

### Driver Interfaces

- [IOUserBlockStorageDevice](blockstoragedevicedriverkit/iouserblockstoragedevice.md)

### Macros

- [kMaxDeviceStringLength](blockstoragedevicedriverkit/kmaxdevicestringlength.md)
