I have a keyboard filter driver built using the kmdf for Vista. It blocks the Ctl-Alt-Del combination fine at first. However if a user hits this key combination continuously the Key combination seems to eventually get through. It can take between 4-6 and 30-40 attempts depending on how much load the PC is under.
Does anyone know why this occurs? Is it something built into Vista that allows it to by-pass my filter driver? As an interesting note the DebugPrint messages inside the driver no longer show up int the DebugView utility.
The driver works by cycling through the packets from InputDataStart through to InputDataEnd in the KBFilter_ServiceCallback routine and changing the make codes on each one when Flags == KEY_MAKE.
Do I need to do anything to the DeviceObject that is also passed in? Is this some quirky Vista thing?
I’m guessing your code has a bug. It would help if you posted your
callback function.
xxxxx@yahoo.com wrote:
I have a keyboard filter driver built using the kmdf for Vista. It blocks the Ctl-Alt-Del combination fine at first. However if a user hits this key combination continuously the Key combination seems to eventually get through. It can take between 4-6 and 30-40 attempts depending on how much load the PC is under.
Does anyone know why this occurs? Is it something built into Vista that allows it to by-pass my filter driver? As an interesting note the DebugPrint messages inside the driver no longer show up int the DebugView utility.
The driver works by cycling through the packets from InputDataStart through to InputDataEnd in the KBFilter_ServiceCallback routine and changing the make codes on each one when Flags == KEY_MAKE.
Do I need to do anything to the DeviceObject that is also passed in? Is this some quirky Vista thing?
–
Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)
I agree with ray. This is a bug in your driver, not a bug in vista. The only pipeline for keyboard input data to get to the RIT is through the keyboard stacks, there is no “back door” that would circumvent your filter driver
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Tuesday, November 13, 2007 9:26 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Random Filter Driver Failure
I’m guessing your code has a bug. It would help if you posted your
callback function.
xxxxx@yahoo.com wrote:
I have a keyboard filter driver built using the kmdf for Vista. It blocks the Ctl-Alt-Del combination fine at first. However if a user hits this key combination continuously the Key combination seems to eventually get through. It can take between 4-6 and 30-40 attempts depending on how much load the PC is under.
Does anyone know why this occurs? Is it something built into Vista that allows it to by-pass my filter driver? As an interesting note the DebugPrint messages inside the driver no longer show up int the DebugView utility.
The driver works by cycling through the packets from InputDataStart through to InputDataEnd in the KBFilter_ServiceCallback routine and changing the make codes on each one when Flags == KEY_MAKE.
Do I need to do anything to the DeviceObject that is also passed in? Is this some quirky Vista thing?
–
Ray
(If you want to reply to me off list, please remove “spamblock.” from my
email address)
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
And you would both be right.
Two words: Flow Control. The judicious use of the continue statement was sadly lacking in my code. Chalk up yet another Einstein moment for my career.