Storage driver design guide

Storage drivers include class, port, miniport, and filter drivers. Typically, a device vendor will implement a miniport driver for a specific adapter or adapter type. Although not common, a new storage class can be defined and a new class driver developed for it. Storage classes in Windows include the Disk, CDROM, USB storage, and encrypted drive classes. Storage driver development is usually limited to writing a miniport driver to work with the StorPort port driver.

Other types of storage drivers are secure silo drivers and Device Specific Modules (_DSM) for multipath I/O. For storage management, WMI providers are developed as a control interface to a driver.

The storage driver design guide includes the following sections:

Samples

Studying samples is a practical way to see how working storage drivers are developed. Sample storage drivers are available on GitHub.

Driver Verification for StorPort

Using code analysis tools during driver development and testing helps to catch performance problems and defects in a storage driver. The Static Driver Verifier (SDV) tool is available to discover defects in storage driver code. Included with SDV are compliance rules for verifying proper usage of StorPort routines by miniport drivers.