---
title: SCSIControllerDriverKit
framework: SCSIControllerDriverKit
role: collection
role_heading: Framework
platforms: [driverkit 20.4+]
path: scsicontrollerdriverkit
---

# SCSIControllerDriverKit

Develop drivers for SCSI protocol-based devices.

## Overview

Overview The SCSIControllerDriverKit framework supports the development of DriverKit extension (dext) drivers for devices that communicate using SCSI protocols. Develop your driver by subclassing IOUserSCSIParallelInterfaceController, overriding all methods the framework declares as pure virtual. Then package your driver in an app that uses the System Extensions framework to install and upgrade the driver on a Mac. Creating a driver When you subclass IOUserSCSIParallelInterfaceController, update the IOKitPersonalities key of your driver extension’s information property list file with information to match your driver to appropriate hardware. For this class, always include the keys and values in the following table:  |   |   |   |   |   |   |  In addition to these required keys, you can include key-value pairs as needed. The following example shows a minimal entry for the IOKitPersonalities key in the information property list: <key>IOKitPersonalities</key>     <dict>         <key>ExampleDext</key>         </dict>             <key>CFBundleIdentifierKernel</key>             <string>com.apple.iokit.IOSCSIParallelFamily</string>             <key>CFBundleIdentifier</key>             <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>             <key>IOClass</key>             <string>IOUserSCSIParallelInterfaceController</string>             <key>IOProviderClass</key>             <string>IOPCIDevice</string>             <key>IOUserClass</key>             <string>YourDextClassName</string>             <key>IOUserServerName</key>             <string>com.example.dextname</string>         </dict>     </dict> </key> note: SCSIControllerDriverKit is available on macOS.

## Topics

### Entitlements

- [com.apple.developer.driverkit](bundleresources/entitlements/com.apple.developer.driverkit.md)
- [com.apple.developer.driverkit.family.scsicontroller](bundleresources/entitlements/com.apple.developer.driverkit.family.scsicontroller.md)

### Samples

- [DriverKit sample code](driverkit/driverkit-sample-code.md)

### Driver interfaces

- [IOUserSCSIParallelInterfaceController](scsicontrollerdriverkit/iouserscsiparallelinterfacecontroller.md)

### Macros

- [Macros](scsicontrollerdriverkit/scsicontrollerdriverkit-macros.md)
