Chapter 1. WinDriver Overview

In this chapter you will explore the uses of WinDriver, and learn the basic steps of creating your driver.

This manual outlines WinDriver's support for PCI/ISA/EISA/CompactPCI/PCI Express devices.
WinDriver also supports the Universal Serial Bus (USB). For detailed information regarding WinDriver USB, please refer to the WinDriver product page on our web site ( and to the WinDriver USB Manual, which is available online at

1.1. Introduction to WinDriver

WinDriver is a development toolkit that dramatically simplifies the difficult task of creating device drivers and hardware-access applications. WinDriver includes a wizard and code generation features that automatically detect your hardware and generate the driver to access it from your application. The driver and application you develop using WinDriver are source code compatible across all supported operating systems [1.7]. The driver is binary compatible across Windows 10/Server 2016/8.1/Server 2012 R2/8/Server 2012/7/Server 2008 R2/Server 2008.

Bus architecture support includes PCI//ISA/EISA/CompactPCI/PCI Express.
ISA, and EISA are supported on Windows, and Linux.

WinDriver provides a complete solution for creating high-performance drivers.

Don't let the size of this manual fool you. WinDriver makes developing device drivers an easy task that takes hours instead of months. Most of this manual deals with the features that WinDriver offers to the advanced user. However, most developers will find that reading this chapter and glancing through the DriverWizard and function-reference chapters is all they need to successfully write their driver.

WinDriver supports development for all PCI/ISA/EISA/CompactPCI/PCI Express chipsets, and offers enhanced support for specific chipsets, as outlined in Chapter 7.

Chapter 10 explains how to tune your driver code to achieve optimal performance, with special emphasis on WinDriver's Kernel PlugIn feature. This feature allows the developer to write and debug the entire device driver in the user mode, and later drop performance critical portions of the code into kernel mode. In this way the driver achieves optimal kernel-mode performance, while the developer need not sacrifice the ease of user-mode development. For a detailed overview of the Kernel PlugIn, refer to Chapters 11–12.

Visit Jungo's web site at for the latest news about WinDriver and other driver development tools that Jungo offers.