Chapter 6. Developing a Driver

This chapter takes you through the WinDriver driver development cycle.

[Note]
If your device is based on one of the chipsets for which WinDriver provides enhanced support (the Cypress EZ-USB family), read the following overview and then skip straight to Chapter 8.

6.1. Using DriverWizard to Build a Device Driver

  • Use DriverWizard to diagnose your device: View the device's configuration information, transfer data on the device's pipes, send standard requests to the control pipe and reset the pipes. Verify that your device operates as expected.
  • Use DriverWizard to generate skeletal code for your device in C, C#, Visual Basic .NET, Delphi (Pascal), or Visual Basic 6.0. For more information about DriverWizard, refer to Chapter 5.
  • If you are using one of the specific chipsets for which WinDriver offers enhanced support (the Cypress EZ-USB family), we recommend that you use the specific sample code provided for your chip as your skeletal driver code. For more details regarding WinDriver's enhanced support for specific chipsets, refer to Chapter 8.
  • Use any C / .NET / Delphi / Visual Basic 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, Borland C++ Builder, Borland Delphi, Visual Basic 6.0, 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.

Please see Appendix B for a detailed description of WinDriver's USB API.
For more information regarding implementation of USB transfers with WinDriver, refer to Chapter 9 of the manual.