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.
Getting started information is found in the Storage Devices Design Guide section.
Studying samples is a practical way to see how working storage drivers are developed. Sample storage drivers are available on GitHub.
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.