Blocking HID input report data from going back to the OS

Hi, newbie in windows driver development here. I’ve been asking around here at NTDEV about extracting HID input report data, and you guys helped me so much about that.

Right now, I have a filter driver that filters an HID-enumerated PDO (namely, the HID-compliant pen), and my EvtIoRead calls a ForwardRequestCompletionRoutine, which in turn registers a CompletionRoutine that inspects the HID input report before it goes back up to the OS/Win32k.

Now, I’m wondering if it’s possible for my filter to “fool” win32k in thinking that the pen device doesn’t have any new input report data at all? I mean is it possible that the read request goes down the stack, goes back up, and just before it returns the data to the OS, my filter inspects the data (actual coordinates, pressure, etc), but doesn’t show those data to the OS? Maybe by returning an empty report?

In the end, I don’t want the pen pointer to show on the screen when the pen is hovering or is actually touching the screen, but I want my filter to continuously track the coordinates, pressure, etc of the pen/digitizer.

Just call ForwardRequestCompletionRoutine (which I assume formats the request and seta a completion routine) from the completion routine and send the request back down again

d

Bent from my phone


From: xxxxx@gmail.commailto:xxxxx
Sent: ?2/?19/?2015 10:03 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] Blocking HID input report data from going back to the OS

Hi, newbie in windows driver development here. I’ve been asking around here at NTDEV about extracting HID input report data, and you guys helped me so much about that.

Right now, I have a filter driver that filters an HID-enumerated PDO (namely, the HID-compliant pen), and my EvtIoRead calls a ForwardRequestCompletionRoutine, which in turn registers a CompletionRoutine that inspects the HID input report before it goes back up to the OS/Win32k.

Now, I’m wondering if it’s possible for my filter to “fool” win32k in thinking that the pen device doesn’t have any new input report data at all? I mean is it possible that the read request goes down the stack, goes back up, and just before it returns the data to the OS, my filter inspects the data (actual coordinates, pressure, etc), but doesn’t show those data to the OS? Maybe by returning an empty report?

In the end, I don’t want the pen pointer to show on the screen when the pen is hovering or is actually touching the screen, but I want my filter to continuously track the coordinates, pressure, etc of the pen/digitizer.


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>

Oh wow, that’s true… I feel like it’s a silly question now after all. Thank you very much!