WinDriver USB enables you to develop a USB device driver without having to learn and master Microsoft's WDM or the DDK. The program enables you to complete all development in the user mode. Later you simply move performance critical parts of your code from your application or DLL (in ring 3) to the Kernel level (ring 0) for optimal performance. WinDriver USB allows you to automatically detect your USB devices, select a desired interface, and read and write to and from your USB device pipes. Once you are done validating your hardware you may use the wizard to automatically generate a driver and a custom sample application.