This information, even if it is kept at runtime, is not documented. As
things are currently implemented, the filters and service names are read
from the registry when the device is enumerated to load the driver and
then discarded b/c there is no further need for it. Like I said before,
the naming (filters and service) are for attachment order only w/in the
stack. Each stack has its own conventions on who is really the power
policy owner and who is really the owner of the hw resources. Most of
the time it is the FDO, but not always.
Reading the registry doesn’t help ID all the drivers in the stack
anyways. ACPI is a bus filter driver and it inserts itself into many
stacks, you don’t find this information out in the registry.
WHY do you need this information? What are you going to do with it even
you could find out the roles? Why does it matter? For security
purposes?
How is it that you have a PDO for the stack but not the top of the
stack? To get a PDO, either you have enumerated it yourself or you have
opened the stack (ZwCreateFile or IoGetDeviceObjectPointer)…are you
retrieving the PDO in some other way?
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Manu Tayal
Sent: Sunday, April 17, 2005 12:47 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] How to identify the filter drivers from the Stack
Thanks for the explaination…
Does this mean that there is no way for identify the
driver actually attached to the device. But the kernel
should have a way of identifying the same. When we
install the driver, and then the PnP manager
enumerates the devices,it does associate the hardware
instance under the ENUM key with a service. I want to
know the service name from the kernel structures
rather than reading the registry. I have access to the
PDO representing the hardware. Problem is to get the
service name which is present in the registry. I get
the attached devices to the PDO. But I am not able to
pin point the actual device object in the presence of
the device objects representing the filter drivers. Is
there a way to do the same.
Regards,
Manu
— Doron Holan wrote:
> No, there is no way to distinguish role. Besides,
> roles are pretty much
> nomenclature only. There are some stacks where the
> filters control
> hardware and the FDO does not (serial.sys in the
> modem stack). There
> are filters which are the power policy owner in the
> stack (kbdclass in a
> keyboard stack), but do not control the hw.
> Basically, even if you
> found out this information, it wouldn’t help.
>
> The filters and FDO nomenclature pertains only to
> device object order
> w/in the stack.
>
> d
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf
> Of Manu Tayal
> Sent: Friday, April 15, 2005 6:02 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] How to identify the filter drivers
> from the Stack
>
> Hi,
> I have a device object and I want to know the driver
> associated with the device. I use
> IoGetAttachedDeviceReference() to get the highest
> device object on the stack. I am able to travese
> down
> the stack using IoGetLowerDeviceObject(). While
> travesing, I want to stop at the device object which
> is the driver for the hardware. I want to skip all
> the
> filter drivers. Is there a way to differentiate
> between the filter driver and the actual device
> driver
> from the device object pointer I have.
>
> Thanks in advance,
> Manu.
>
>
>
>
> Yahoo! Mail Mobile
> Take Yahoo! Mail with you! Check email on your
> mobile phone.
> http://mobile.yahoo.com/learn/mail
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as:
> xxxxx@windows.microsoft.com
> To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown
> lmsubst tag argument: ‘’
> To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>
Do you Yahoo!?
Plan great trips with Yahoo! Travel: Now over 17,000 guides!
http://travel.yahoo.com/p-travelguide
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com