I've written a filter driver for disk volumes. However, to enable it towork,
I have to reboot the system. Is there any way to load the driver without
rebooting? And I am using AddDevice routine.
I first dried to install the driver, it is OK. Then I added it to one
volume's device key as UpperFilters. When restarting the volume device, I
found that the DriverEntry routine is called and executed successfully. But
after leaving DriverEntry routine, there is something wrong and Unload
routine is executed. At last, the drive did not get loaded.
However, if I reboot the system just after installing the driver, all is OK.
What's the difference between starting by system at boot time and starting
by IO manager at run time? I'm quite puzzled.

Re: How to dynamically load a filter driver? by Maxim

Maxim
Tue Sep 12 10:33:50 CDT 2006

> I've written a filter driver for disk volumes. However, to enable it towork,
> I have to reboot the system. Is there any way to load the driver without
> rebooting?

Filter for a boot volume? No ways.

> after leaving DriverEntry routine, there is something wrong and Unload
> routine is executed.

Is AddDevice called?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com


Re: How to dynamically load a filter driver? by Sean

Sean
Tue Sep 12 21:13:02 CDT 2006

1. It's not a boot volume.
2. AddDevice never get called.

"Maxim S. Shatskih" wrote:

> > I've written a filter driver for disk volumes. However, to enable it towork,
> > I have to reboot the system. Is there any way to load the driver without
> > rebooting?
>
> Filter for a boot volume? No ways.
>
> > after leaving DriverEntry routine, there is something wrong and Unload
> > routine is executed.
>
> Is AddDevice called?
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> maxim@storagecraft.com
> http://www.storagecraft.com
>
>

Re: How to dynamically load a filter driver? by soviet_bloke

soviet_bloke
Wed Sep 13 02:46:20 CDT 2006

Hi mate

> What's the difference between starting by system at boot time and starting
> by IO manager at run time? I'm quite puzzled.

Once your driver is PnP one, apparently it has some specific location
on the stack (i.e. below some certain driver), so that it has to get
loaded before above mentioned driver does - otherwise, AddDevice()
routine does not get called. In other words, the situation is exactly
the same as with with kbdfilter sample - it has to get loaded before
kbdclass driver does.......

Anton Bassov



Sean wrote:
> I've written a filter driver for disk volumes. However, to enable it towork,
> I have to reboot the system. Is there any way to load the driver without
> rebooting? And I am using AddDevice routine.
> I first dried to install the driver, it is OK. Then I added it to one
> volume's device key as UpperFilters. When restarting the volume device, I
> found that the DriverEntry routine is called and executed successfully. But
> after leaving DriverEntry routine, there is something wrong and Unload
> routine is executed. At last, the drive did not get loaded.
> However, if I reboot the system just after installing the driver, all is OK.
> What's the difference between starting by system at boot time and starting
> by IO manager at run time? I'm quite puzzled.