Nasty bug in dynamic keyboard filter driver

Hi all

I made a dynamic keyboard filter driver. pretty much based on “ctrl2cap”
from system internals and “instdrv” from NT DDK

Basically it works ok but after it dynamicaly UNLOADS any key i press
generates a nasty NT and Win2K crash (i do not even get a blue screen, just
instant video crash)

The problem is related to my SetIoCompletion Routine. If i do not set such
a routine i do not get the crash…but of course i can not filter keyboard
either… :frowning:

It looks like after i unload the driver i leave IRP’s with pointers to my
CompletionRoutine to IO Manager/lower drivers…but my routine is not there
anymore after unload…

So My Question is:

How can I UNSET the job done by SetIoCompletionRoutine in a gracefully way,
and unload my filter driver without having problems?

Any help will be appreciated because I am debugging this for over a
week…with no major succes…

Thank you
Bogdan Ontanu

(Solar Software srl)


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

IIRC keyboard filters in w2k cannot be unloaded.

Max

----- Original Message -----
From: “Bogdan Ontanu”
To: “NT Developers Interest List”
Sent: Wednesday, November 21, 2001 6:25 PM
Subject: [ntdev] Nasty bug in dynamic keyboard filter driver

> Hi all
>
> I made a dynamic keyboard filter driver. pretty much based on “ctrl2cap”
> from system internals and “instdrv” from NT DDK
>
> Basically it works ok but after it dynamicaly UNLOADS any key i press
> generates a nasty NT and Win2K crash (i do not even get a blue screen, just
> instant video crash)
>
> The problem is related to my SetIoCompletion Routine. If i do not set such
> a routine i do not get the crash…but of course i can not filter keyboard
> either… :frowning:
>
> It looks like after i unload the driver i leave IRP’s with pointers to my
> CompletionRoutine to IO Manager/lower drivers…but my routine is not there
> anymore after unload…
>
> So My Question is:
> =================
> How can I UNSET the job done by SetIoCompletionRoutine in a gracefully way,
> and unload my filter driver without having problems?
>
> Any help will be appreciated because I am debugging this for over a
> week…with no major succes…
>
> Thank you
> Bogdan Ontanu
>
> (Solar Software srl)
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Does somebody know where I can find a sample of Keyboard filter driver for
NT5.0 ???
Many thanks in advance.
Regards
-John


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

%BASEDIR%\src\input\kbfiltr\kbfiltr.c
Andrew

From: xxxxx@yahoo.co.uk
Reply-To: “NT Developers Interest List”
>To: “NT Developers Interest List”
>Subject: [ntdev] Keyboard filter driver
>Date: Tue, 11 Dec 2001 8:21:52
>
>Does somebody know where I can find a sample of Keyboard filter driver for
>NT5.0 ???
>Many thanks in advance.
>Regards
>-John
>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com