Keyboard filter driver fails in Win2000

Hi!
I have a Keyboard filter driver that ran fine in Windows NT 4,
but in Windows 2000 it fails in sytem shutdown after receiving
an IRP_MJ_POWER (for now I simply pass it to the next filter
in the stack).
There are special (Po…) functions to handle it (only 2000!),
but I want to maintain compatibility with NT4, so I can’t use them.
Any ideas?


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

Hi there!

If you want to use the same image for both OS’s and if you want to take a
very unconventional approach, you might want to get the exported addresses of
PoXXX functions at run-time. For that, you’ll need first to determine what OS
you are running via PsGetVersion, then get the ntoskrnl.exe memory offset via
ZwQuerySystemInformation with SystemModuleInformation and then to traverse
the PE export directory of ntoskrnl.exe seeking for the appropriate exports.
If you are interested in that, please respond to this mail either to the
mailing list or directly to me (xxxxx@gmx.net) and I’ll paste some
funny source how to do that :slight_smile:

Greetings,
Alex

Hi!
I have a Keyboard filter driver that ran fine in Windows NT 4,
but in Windows 2000 it fails in sytem shutdown after receiving
an IRP_MJ_POWER (for now I simply pass it to the next filter
in the stack).
There are special (Po…) functions to handle it (only 2000!),
but I want to maintain compatibility with NT4, so I can’t use them.
Any ideas?


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


Sent through GMX FreeMail - http://www.gmx.net


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

Check out the ctrl2cap sample on www.sysinternals.com.

-----Original Message-----
From: Alexander Platonow [mailto:xxxxx@gmx.net]
Sent: Wednesday, February 28, 2001 5:11 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Keyboard filter driver fails in Win2000

Hi there!

If you want to use the same image for both OS’s and if you want to take a
very unconventional approach, you might want to get the exported addresses
of
PoXXX functions at run-time. For that, you’ll need first to determine what
OS
you are running via PsGetVersion, then get the ntoskrnl.exe memory offset
via
ZwQuerySystemInformation with SystemModuleInformation and then to traverse
the PE export directory of ntoskrnl.exe seeking for the appropriate exports.
If you are interested in that, please respond to this mail either to the
mailing list or directly to me (xxxxx@gmx.net) and I’ll paste
some
funny source how to do that :slight_smile:

Greetings,
Alex

Hi!
I have a Keyboard filter driver that ran fine in Windows NT 4,
but in Windows 2000 it fails in sytem shutdown after receiving
an IRP_MJ_POWER (for now I simply pass it to the next filter
in the stack).
There are special (Po…) functions to handle it (only 2000!),
but I want to maintain compatibility with NT4, so I can’t use them.
Any ideas?


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


Sent through GMX FreeMail - http://www.gmx.net


You are currently subscribed to ntdev as: xxxxx@microsoft.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

Hi,
You can see example of Keyboard filter drive in:
http://www.sysinternals.com/ntw2k/source/ctrl2cap.shtml
best regards
Mark

Juan Antonio Ruzafa wrote:

Hi!
I have a Keyboard filter driver that ran fine in Windows NT 4,
but in Windows 2000 it fails in sytem shutdown after receiving
an IRP_MJ_POWER (for now I simply pass it to the next filter
in the stack).
There are special (Po…) functions to handle it (only 2000!),
but I want to maintain compatibility with NT4, so I can’t use them.
Any ideas?


You are currently subscribed to ntdev as: xxxxx@arx.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