Communication with a lower filter driver in a custom device property page

I have a usb lower filter driver and a co-installer which supplies a
custom device property page for a hid device.

When creating the device property page, I would like to query my filter
driver for some information.

My current understanding is that my options for doing this are:

  • WMI
  • A control device (as illistrated in the toaster filter sideband
    driver)
  • Raw PDO + custom device interface (as illistrated in the kbfiltr
    driver)

Is this correct?

If so, which method is preferred (or simplest), and given the HDEVINFO
DeviceInfoSet and PSP_DEVINFO_DATA DeviceInfoData the co-installer
callback receives, how can I find the correct WMI key or control device
connected to the device in question?

Thanks,


Omni Flux

Hi Omni,
To query and get the whole information about the driver, you can use

  • Setup API
  • WMI
    any one of the technology. These are easy and very efficient methods used for quering the device drivers.

" how can I find the correct WMI key or control device connected to the device in question? "
Can you please explain it what actually you want to do?

I was not clear, or I am missing something obvious.

In my device property page I want to query my lower filter driver for a
device state.

How would I use Setup API to do this? Get the device name, createfile,
and submit an IOCTL? I think the IOCTL will be blocked by the function
driver before reaching my lower filter driver. Am I wrong?


Omni Flux

xxxxx@hotmail.com wrote:

Hi Omni,
To query and get the whole information about the driver, you can use

  • Setup API
  • WMI
    any one of the technology. These are easy and very efficient methods used for quering the device drivers.

" how can I find the correct WMI key or control device connected to the device in question? "
Can you please explain it what actually you want to do?

Yes, the fdo will block the ioctl. What os’s are you targetting? How static or dynamic is the data you are querying? How big is the data?

d

-----Original Message-----
From: Omni Flux
Sent: Thursday, December 03, 2009 12:52 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Communication with a lower filter driver in a custom device property page

I was not clear, or I am missing something obvious.

In my device property page I want to query my lower filter driver for a
device state.

How would I use Setup API to do this? Get the device name, createfile,
and submit an IOCTL? I think the IOCTL will be blocked by the function
driver before reaching my lower filter driver. Am I wrong?


Omni Flux

xxxxx@hotmail.com wrote:
> Hi Omni,
> To query and get the whole information about the driver, you can use
> - Setup API
> - WMI
> any one of the technology. These are easy and very efficient methods used for quering the device drivers.
>
> " how can I find the correct WMI key or control device connected to the device in question? "
> Can you please explain it what actually you want to do?
>
>


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

XP+

The data will change depending on how the user configures the driver.

The data will be < 256 bytes.


Omni Flux

Doron Holan wrote:

Yes, the fdo will block the ioctl. What os’s are you targetting? How static or dynamic is the data you are querying? How big is the data?

d

You could put the data in the registry in the device node, but that only works if the data rarely changes. A fixed device name works, but becomes hard if you have more than one pnp device to redirect to. Wmi is rather easy, you have your own guid and can query for all instances of the guid. You can match an instance to your device by looking at the wmi instance string. A substring of the wmi instance string will be the device’s instance path

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Omni Flux
Sent: Thursday, December 03, 2009 1:45 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Communication with a lower filter driver in a custom device property page

XP+

The data will change depending on how the user configures the driver.

The data will be < 256 bytes.


Omni Flux

Doron Holan wrote:

Yes, the fdo will block the ioctl. What os’s are you targetting? How static or dynamic is the data you are querying? How big is the data?

d


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer