Re: I need Pnp guru advice: Win2000 refuses to unload my WDM driver!

Hello,

It doesn’t seem my other code is somehow leaving those 4 references
because
I can run through whole install/uninstall multiple times (with the never
being unloaded of course) and the final DRIVER_OBJECT reference count is
always 4.

I assume you have installed the unload function. I have had the same problems
with USB drivers. On the upper layer from USB driver I have some other drivers.

This drivers have a open instance in my USB driver.

When the USB driver receives a IRP_MN_REMOVE_DEVICE than all pending request
from upper layer driver must terminated with some good error code. The upper
layer driver must close immediatly the reference to the USB driver when a irp
is terminated with this error code.

Only when all references to a WDM driver are closed this driver is removed.

mathias

From: “Mathias Ellinger”
Sent: Tuesday, April 04, 2000 4:08 AM

> Hello,
>
> > It doesn’t seem my other code is somehow leaving those 4 references
> > because
> > I can run through whole install/uninstall multiple times (with the never
> > being unloaded of course) and the final DRIVER_OBJECT reference count is
> > always 4.
>
> I assume you have installed the unload function.

Of course.

> I have had the same problems
> with USB drivers. On the upper layer from USB driver I have some other
drivers.

That’s the thing, right now there is nothing more to my driver than
responding to AddDevice() and the various PnP IRPs through
IRP_MN_REMOVE_DEVICE.

There are no layers above me. I don’t even try to open the driver from
user-mode. This is just a plain vanilla WDM PnP driver installed and
removed via the Add/Remove Hardware Wizard. Except it won’t unload.

- Matt