For hardware access, your application calls one of the WinDriver user-mode functions. The user-mode function calls the WinDriver kernel, which accesses the hardware for you through the native calls of the operating system.
WinDriver's design minimizes performance hits on your code, even though it is
running in user mode. However, some hardware drivers have high performance
requirements that cannot be achieved in user mode. This is where WinDriver's
edge sharpens. After easily creating and debugging your code in user mode, you
may drop the performance-critical modules of your code (such as a hardware
interrupt handler) into the WinDriver Kernel PlugIn without changing them at
all. Now, the WinDriver kernel calls this module from kernel mode, thereby
achieving maximal performance. This allows you to program and debug in user
mode, and still achieve kernel performance where needed. For a detailed
overview of the Kernel PlugIn feature, see
Kernel PlugIn is not implemented under Windows CE. In this operating system
there is no separation between kernel mode and user mode, therefore top
performance can be achieved without using the Kernel PlugIn. To improve the
interrupt handling rate on Windows CE, follow the instructions in