Chapter 13. Dynamically Loading Your Driver

13.1. Why Do You Need a Dynamically Loadable Driver?

When adding a new driver, you may be required to reboot the system in order for it to load your new driver into the system. WinDriver is a dynamically loadable driver, which enables your customers to start your application immediately after installing it, without the need for reboot. You can dynamically load your driver whether you have created a user-mode or a kernel-mode (Kernel PlugIn [11]) driver.

To successfully unload your driver, make sure that there are no open handles to the WinDriver service (windrvr1411.sys or your renamed driver [15.2]), and that there are no connected and enabled Plug-and-Play devices that are registered with this service.