Chapter 11. Understanding the Kernel PlugIn

This chapter provides a description of WinDriver's Kernel PlugIn feature.

[Note]
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 Section 9.2.9.1 of the manual.

11.1. Background

The creation of drivers in user mode imposes a fair amount of function call overhead from the kernel to user mode, which may cause performance to drop to an unacceptable level. In such cases, the Kernel PlugIn feature allows critical sections of the driver code to be moved to the kernel while keeping most of the code intact. Using WinDriver's Kernel PlugIn feature, your driver will operate without any degradation in performance.

Writing a Kernel PlugIn driver provides the following advantages over a standard OS kernel-mode driver:

  • All the driver code is written and debugged in the user mode.
  • The code segments that are moved to the kernel mode remain essentially the same, and therefore typically no kernel debugging is needed.
  • The parts of the code that will run in the kernel through the Kernel PlugIn are platform-independent, and therefore will run on every platform supported by WinDriver and the Kernel PlugIn. A standard kernel-mode driver will run only on the platform it was written for.

Using WinDriver's Kernel PlugIn feature, your driver will operate without any performance degradation.