RE: [Q] What does DRVO_LEGACY_DRIVER mean?

From: “Jamey Kirby”
Sent: Friday, April 07, 2000 12:00 AM

> If you do not create a device object during AddDevice, this flag will get
> set so that the driver does not unload.

But my AddDevice() routine is called (only once, BTW) and I do create a
device – my FDO of course – and then return STATUS_SUCCESS. The FDO then
layers over the PDO and receives all the expected Plug and Play IRPs, all
the way up to IRP_MJ_REMOVE_DEVICE.

If what you say is correct, why after removal is my driver unloaded as
expected, despite having the DRVO_LEGACY_DRIVER flag?

Another curious detail is that the DRVO_LEGACY_DRIVER flag is present even
before AddDevice() is called. It’s already set by the time my
DriverEntry() routine is called.

Any other idea what’s going on or what this flag means?

- Matt