Hi,
We have an UpperFilter driver for our USB HID mouse device that we need to load on top of a vendor-supplied upper-filter driver.
In our INF, we updated AddReg flag for “UpperFilters” entry to (FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND), which is 0x00010008. The entry in INF looks like this:
HKR,“UpperFilters”,0x00010008,“MyFilter”
Technically this should have built a devstack like this:
Mouclass
|
Vendor-Filter
|
MyFilter
|
MouHID
|
HidUSB
This doesnt seem to work…Anybody has done this before? Is there any other way to do this?
TIA.
What specifically doesn’t work?
d
debt from my phone
From: xxxxx@gmail.com
Sent: 11/2/2011 3:55 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Multiple filter drivers
Hi,
We have an UpperFilter driver for our USB HID mouse device that we need to load on top of a vendor-supplied upper-filter driver.
In our INF, we updated AddReg flag for “UpperFilters” entry to (FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND), which is 0x00010008. The entry in INF looks like this:
HKR,“UpperFilters”,0x00010008,“MyFilter”
Technically this should have built a devstack like this:
Mouclass
|
Vendor-Filter
|
MyFilter
|
MouHID
|
HidUSB
This doesnt seem to work…Anybody has done this before? Is there any other way to do this?
TIA.
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
The old devstack seems to be destroyed. If I do a !drvobj on the vendor driver after installing our filter, the devobj for the upper-filter is not there.
Interestingly, if I have only FLG_ADDREG_TYPE_MULTI_SZ (0x10000) in the “UpperFilters” entry, it at least replaced the vendor-driver and the device stack still worked. But, now, the device’s mouse functionality is gone.
I see Code 19 error in device mgr. Quick search turned up this link - http://answers.microsoft.com/en-us/windows/forum/windows_vista-hardware/windows-cannot-start-this-hardwarecode-19/d9f9f048-918c-4d8d-863e-d376c6f74538.
To quote from that page: “Code 19 means there is a driver conflict such as two devices trying to use the same resources”
Does this mean, we cannot have 2 upper filters (to mouhid) in a HID mouse device stack?
You must certainly can have more than one filter
d
debt from my phone
From: xxxxx@gmail.com
Sent: 11/2/2011 5:57 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Multiple filter drivers
I see Code 19 error in device mgr. Quick search turned up this link - http://answers.microsoft.com/en-us/windows/forum/windows_vista-hardware/windows-cannot-start-this-hardwarecode-19/d9f9f048-918c-4d8d-863e-d376c6f74538.
To quote from that page: “Code 19 means there is a driver conflict such as two devices trying to use the same resources”
Does this mean, we cannot have 2 upper filters (to mouhid) in a HID mouse device stack?
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
Thanks for confirming that. At least we know now we r not trying to do some stuff Windows HID mouse stack doesnt support (like PS2).
I tried adding to the Upperfilters manually, but it is ACLd to SYSTEM (hack = change the grp policy maybe?)…so INF is the only way to make it work in my customer’s machine. Any pointers here would be really helpful. TIA.
*bump*
Anybody has successfully loaded more than 1 UpperFilter on a device stack via INF?
Thanks.
xxxxx@gmail.com wrote:
I tried adding to the Upperfilters manually, but it is ACLd to SYSTEM (hack = change the grp policy maybe?)…so INF is the only way to make it work in my customer’s machine. Any pointers here would be really helpful.
You can do this easily from an application, by using
SetupDiGetDeviceRegistryProperty and SetupDiSetDeviceRegistryProperty
with the property SPDRP_UPPERFILTERS. Well, “easily” is relative, I
guess; it’s conceptually simple, but the SetupDi APIs always involve a
lot of typing.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.