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:
- Roadmap for Developing Windows Storage Drivers
- Roadmap for Developing Storport Miniport Drivers
- Storage Drivers
- Storage Class Drivers
- Storage Port Drivers
- Storage Miniport Drivers
- Storage Virtual Miniport Drivers
- Storage Filter Drivers
- Crash Dump Filter Drivers
- Storage Silo Drivers
- CD-ROM Drivers
- Tape Drivers
- Changer Drivers
- Storage Scenarios
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.