WinDriver - No Performance Limitations
WinDriver's unique architecture enables you to develop and debug your driver in the User mode, and execute the driver code from the Kernel mode. "User mode development -- Kernel mode performance!" How WinDriver Works WinDriver eliminates the need for you to write a kernel mode device driver, by providing you with a complete hardware access API in the user mode, with which you can control any type of hardware. This WinDriver user mode API calls the WinDriver kernel agent, which then controls your hardware (see the WinDriver architecture). Using WinDriver, no kernel knowledge or DDK programming is required. Kernel Mode Performance! WinDriver’s API is optimized for minimal performance overhead. For the drivers that need kernel mode performance, WinDriver offers the "Kernel PlugIn". This powerful feature enables you to create and debug your code in the user mode, and run the performance critical parts of your code in kernel mode, thereby achieving kernel mode performance (zero performance degradation). Using the WinDriver Kernel PlugIn, you first develop and debug your driver code in the User Mode with the standard WinDriver tools. After identifying the performance critical modules of the code (such as the interrupt handler, or access to I/O mapped memory ranges), you can simply ‘drop’ these parts of code into the WinDriver’s Kernel PlugIn. These modules then run in the Kernel Mode, thereby eliminating any calling overhead. This unique feature allows the developer to run his user mode code in the OS kernel without having to learn how the kernel works. How fast can WinDriver go? Using the WinDriver Kernel PlugIn you can expect the same throughput of a custom Kernel Driver. You are confined only by your OS and hardware limitations. A ball park figure of the throughput you can reach using the Kernel PlugIn would be more then 100,000 interrupts per second. Click here for the WinDriver "Performance Checklist"