Hi All:
I am implementing a touch filter driver to our HID over I2C touch sensor device.
I am looking for a sample .inf file which allows my touch filter driver to sit between hidi2c.sys and hidclass.sys drivers.
This touch driver in special mode does the coordinate transformation based on the current view port downscaling factor. For confidentiality I cannot share the complete details.
I have looked at various sample drivers like vhidmini, kbfilter, firefly but none has I2C and HIDClass combination.
Thanks,
Raghav
xxxxx@yahoo.com wrote:
I am implementing a touch filter driver to our HID over I2C touch sensor device.
I am looking for a sample .inf file which allows my touch filter driver to sit between hidi2c.sys and hidclass.sys drivers.
You can’t get between those two. They are a port/miniport pair. They
communicate by direct function calls, not via IoCallDriver. You’ll have
to sit on top of hidclass.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Actually for a kmdf based hid miniport, you can sort between the two nectar there is a simple “real” pass through miniport that links against hidclass and converts direct calls into irps
d
Bent from my phone
From: Tim Robertsmailto:xxxxx
Sent: ?7/?29/?2014 11:27 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re: [ntdev] sample inf for I2C based touch filter driver
xxxxx@yahoo.com wrote:
> I am implementing a touch filter driver to our HID over I2C touch sensor device.
>
> I am looking for a sample .inf file which allows my touch filter driver to sit between hidi2c.sys and hidclass.sys drivers.
You can’t get between those two. They are a port/miniport pair. They
communicate by direct function calls, not via IoCallDriver. You’ll have
to sit on top of hidclass.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
—
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
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>
Doron Holan wrote:
Actually for a kmdf based hid miniport, you can sort between the two
nectar there is a simple “real” pass through miniport that links
against hidclass and converts direct calls into irps
I’ve attempted to parse that sentence three times and failed. I love
the idea of “sorting between the two nectar”, but I have a hard time
figuring out what that was supposed to say. Could I impose upon you to
try again?
From: Tim Roberts mailto:xxxxx
> Sent: ý7/ý29/ý2014 11:27 AM
> To: Windows System Software Devs Interest List
> mailto:xxxxx
> Subject: Re: [ntdev] sample inf for I2C based touch filter driver
>
> xxxxx@yahoo.com wrote:
> > I am implementing a touch filter driver to our HID over I2C touch
> sensor device.
> >
> > I am looking for a sample .inf file which allows my touch filter
> driver to sit between hidi2c.sys and hidclass.sys drivers.
>
> You can’t get between those two. They are a port/miniport pair. They
> communicate by direct function calls, not via IoCallDriver. You’ll have
> to sit on top of hidclass.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.</mailto:xxxxx></mailto:xxxxx>
In a normal HID miniport, you link against hidclass and there is no way to intercept hidclass to miniport calls b/c they are direct. In a KMDF based hid miniport, you have two drivers. The true hid miniport which has direct calls into and from hidclass and the kmdf driver (as a lower filter) which is where all the logic lives. The true hid miniport translates direct calls from hidclass into an irp and sends it to the KMDF lower filter. Since this is an IRP sent down the stack, you can now filter between hidclass and the HID miniport . hidi2c.sys is a KMDF hid miniport and is thus filterable
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, July 29, 2014 3:08 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] sample inf for I2C based touch filter driver
Doron Holan wrote:
Actually for a kmdf based hid miniport, you can sort between the two nectar there is a simple “real” pass through miniport that links against hidclass and converts direct calls into irps
I’ve attempted to parse that sentence three times and failed. I love the idea of “sorting between the two nectar”, but I have a hard time figuring out what that was supposed to say. Could I impose upon you to try again?
From: Tim Robertsmailto:xxxxx
Sent: ?7/?29/?2014 11:27 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re: [ntdev] sample inf for I2C based touch filter driver
xxxxx@yahoo.commailto:xxxxx wrote:
> I am implementing a touch filter driver to our HID over I2C touch sensor device.
>
> I am looking for a sample .inf file which allows my touch filter driver to sit between hidi2c.sys and hidclass.sys drivers.
You can’t get between those two. They are a port/miniport pair. They
communicate by direct function calls, not via IoCallDriver. You’ll have
to sit on top of hidclass.
–
Tim Roberts, xxxxx@probo.commailto:xxxxx
Providenza & Boekelheide, Inc.
–
Tim Roberts, xxxxx@probo.commailto:xxxxx
Providenza & Boekelheide, Inc.
—
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
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></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>
Thanks Doron, Tim for the replies. In my INF if I put my driver as upperfilters to hidi2c.sys for the device the touch device stops working (since it replaces the mshidkmdf as upperfilters). Could you please share an example INF which allows the intercepting between hidi2c and hidclass? Though I am able to intercept IRPs by putting mydriver as upperfilters to hidclass through registry but it seems overkill at it applies to all the hid devices.
You want to prepend your driver before mshidkmdf in the UpperFilters REG_MULTI_SZ value.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.com
Sent: Wednesday, July 30, 2014 10:45 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] sample inf for I2C based touch filter driver
Thanks Doron, Tim for the replies. In my INF if I put my driver as upperfilters to hidi2c.sys for the device the touch device stops working (since it replaces the mshidkmdf as upperfilters). Could you please share an example INF which allows the intercepting between hidi2c and hidclass? Though I am able to intercept IRPs by putting mydriver as upperfilters to hidclass through registry but it seems overkill at it applies to all the hid devices.
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
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