Chapter 6. Developing a Driver

This chapter takes you through the WinDriver driver development cycle.

6.1. Using DriverWizard to Build a Device Driver

  • Use DriverWizard to diagnose your device and verify that it operates as expected: View the device's configuration information, transfer data on its pipes, send standard requests to the control pipe, and reset the pipes.
  • Use DriverWizard to generate skeletal code for your device in C, Visual Basic .NET, or C#. For more information about DriverWizard, refer to Chapter 5.
    [Note]
    If you are using an enhanced-support USB device (the Cypress EZ-USB family), you may want to use the related WinDriver sample as the basis for your development instead of generating code with DriverWizard. For additional information, refer to Chapter 8: Enhanced Support for Specific Chipsets.
  • Use any C or .NET compiler or development environment (depending on the code you created) to build the skeletal driver you need.
    WinDriver provides specific support for the following environments and compilers: MS Visual Studio, MS eMbedded Visual C++, MS Platform Builder C++, GCC, Windows GCC

That is all you need to do in order to create your user-mode driver.
For a detailed description of WinDriver's USB API, refer to Appendix B.
For more information regarding implementation of USB transfers with WinDriver, refer to Chapter 9.