About HIDClass UpperFilters

Hi,

I installed my driver as the HIDClass UpperFilters to filter the touch report. I added UpperFilters value to the registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}. It worked fine until recently the SDET reported that it impacts the mouse functionality if the keyboard gets unplugged. However, in this case, the touch functionality still works. The mouse is laggy and can’t click on any UI.

I’m wondering why the HIDClass filter driver impacts the mouse. Can anyone shed me a light on it?

Thanks,
Marshall

You have to debug this. Class filtering on hidclass is a bit weird because you will be not only on top of all hidclass enumerated children, but also the hidclass parent stack where the filter can do absolutely nothing of value.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@hotmail.com
Sent: Saturday, December 29, 2012 4:51 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] About HIDClass UpperFilters

Hi,

I installed my driver as the HIDClass UpperFilters to filter the touch report. I added UpperFilters value to the registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}. It worked fine until recently the SDET reported that it impacts the mouse functionality if the keyboard gets unplugged. However, in this case, the touch functionality still works. The mouse is laggy and can’t click on any UI.

I’m wondering why the HIDClass filter driver impacts the mouse. Can anyone shed me a light on it?

Thanks,
Marshall


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

Hi Doron,

It’s right that the driver is also on top of the USB Input Devices. However, my driver only sets the IO queue for the HIDClass devices whose enumerator is HID. For other HIDClass devices, the EvtDeviceAdd routine does nothing more than creating the device object and simply returns success except. If I would like not to impact the hidclass parent stack, how should I do? I’ve ordered the USB 2.0 debug cable from US and it’s still on the way.

Thanks,
Marshall

For the parent stack, that is a good first step. A better step would be to not create a wdfdevice at all and return success from adddevice for the parent

d


From: xxxxx@hotmail.commailto:xxxxx
Sent: ?12/?29/?2012 4:44 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: RE:[ntdev] About HIDClass UpperFilters

Hi Doron,

It’s right that the driver is also on top of the USB Input Devices. However, my driver only sets the IO queue for the HIDClass devices whose enumerator is HID. For other HIDClass devices, the EvtDeviceAdd routine does nothing more than creating the device object and simply returns success except. If I would like not to impact the hidclass parent stack, how should I do? I’ve ordered the USB 2.0 debug cable from US and it’s still on the way.

Thanks,
Marshall


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</mailto:xxxxx></mailto:xxxxx>

Hi Doron,

I modified the code not to create the wdfdevice object for the parent which enumerator is USB and return success from the EvtDeviceAdd routine. But the issue still exists. Is there any other possibilities to cause this issue?

Thanks,
Marshall