Roadmap for Developing Windows Storage Drivers
To create a storage driver, perform the following steps:
Learn about Windows architecture and drivers.
You must understand the fundamentals of how drivers work in Windows operating systems. Knowing the fundamentals will help you make appropriate design decisions and allow you to streamline your development process. See Concepts for all driver developers.
Learn the fundamentals of storage drivers.
To learn storage driver fundamentals, see Windows Storage Driver Architecture.
Determine additional storage driver design decisions.
For information about how to make design decisions, see Capabilities Provided by Storport, Storage Virtual Miniport Drivers: When Are They Appropriate?, and Making SCSI Port Miniport Drivers Work with Storport.
Learn about storage in the Windows operating system.
See History of Storport in the Windows Driver Kit (WDK).
Learn about the Windows driver build, test, and debug processes and tools.
Building a driver is not the same as building a user-mode application. See Developing, Testing, and Deploying Drivers for information about Windows driver build, debug, and test processes, driver signing, and Windows Logo testing. See Driver Development Tools for information about building, testing, verifying, and debugging tools.
Review storage driver samples.
To access and review the storport miniport driver samples see the Windows Driver Kit (WDK) samples.
Develop, build, test, and debug your storage driver.
See Building a Driver, Testing a Driver, and Debugging a Driver for information about iterative building, testing, and debugging. This process will help ensure that you build a driver that works.
Create a driver package for your storage driver.
For more information, see Creating a Driver Package.
Sign and distribute your storage driver.
The final step is to sign (optional) and distribute the driver. If your driver meets the quality standards that are defined for Windows Hardware Certification, you can distribute it through the Microsoft Windows Update program. For more information, see Distributing a Driver Package.
These are the basic steps. Additional steps might be necessary based on the needs of your individual driver.