Hy All,
I've made a Pnp driver that I can load / unload in normal conditions (I can
see that the module is unloaded when I disable the last device using that
driver).
The thing is that my driver is also a bus driver. And once the child driver
has been plugged, loaded and unloaded (everything seems ok there), when the
the bus driver is disabled, the device is correctly removed but the module is
not unloaded (and I then have to reboot in order to update the .sys).
Any hint on what could be stuck somewhere in my stack that could prevent the
driver from being unloaded although both chil and bus devices are unloaded????
Many thanxes in advances,
Francois.

Re: Unloading driver by Maxim

Maxim
Wed May 25 09:44:35 CDT 2005

Disable the parent devnode of the bus driver. This will disable and unload
all children and the bus driver itself (unless these drivers have other active
devnodes to serve).

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


"Francois Champs" <FrancoisChamps@discussions.microsoft.com> wrote in message
news:89664F3E-67C6-458A-9E4B-39FEAEC7F754@microsoft.com...
> Hy All,
> I've made a Pnp driver that I can load / unload in normal conditions (I can
> see that the module is unloaded when I disable the last device using that
> driver).
> The thing is that my driver is also a bus driver. And once the child driver
> has been plugged, loaded and unloaded (everything seems ok there), when the
> the bus driver is disabled, the device is correctly removed but the module is
> not unloaded (and I then have to reboot in order to update the .sys).
> Any hint on what could be stuck somewhere in my stack that could prevent the
> driver from being unloaded although both chil and bus devices are
unloaded????
> Many thanxes in advances,
> Francois.



Re: Unloading driver by FrancoisChamps

FrancoisChamps
Thu May 26 02:54:02 CDT 2005

Thank you for your answer Maxim,
I've had a look at that. The thing is that I can't disable the PCI parent
dev node in the dev manager. I think it depends how the PCI bridge is
implemented on the motherboard since depending on the PC, sometimes it's
possible, sometimes not.
Anyway that might have been a solution for dev phase but I would like to
understand the problem and fix it to prevent problems in life time (such as
updates via setup apis etc...).
Any other idea?
Many thanxes in advance,
Have a nice day all,
Francois.

"Maxim S. Shatskih" wrote:

> Disable the parent devnode of the bus driver. This will disable and unload
> all children and the bus driver itself (unless these drivers have other active
> devnodes to serve).
>
> --
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> maxim@storagecraft.com
> http://www.storagecraft.com
>
>
> "Francois Champs" <FrancoisChamps@discussions.microsoft.com> wrote in message
> news:89664F3E-67C6-458A-9E4B-39FEAEC7F754@microsoft.com...
> > Hy All,
> > I've made a Pnp driver that I can load / unload in normal conditions (I can
> > see that the module is unloaded when I disable the last device using that
> > driver).
> > The thing is that my driver is also a bus driver. And once the child driver
> > has been plugged, loaded and unloaded (everything seems ok there), when the
> > the bus driver is disabled, the device is correctly removed but the module is
> > not unloaded (and I then have to reboot in order to update the .sys).
> > Any hint on what could be stuck somewhere in my stack that could prevent the
> > driver from being unloaded although both chil and bus devices are
> unloaded????
> > Many thanxes in advances,
> > Francois.
>
>
>