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.

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