INFO: Avoid Calling SendMessage() Inside a Hook Filter FunctionID: Q74857
|
A hook filter function should not call SendMessage() to pass intertask
messages because this behavior can create a deadlock condition in
Windows. If a hook filter function is called as a result of an
intertask SendMessage(), and if the hook function then yields control
with an intertask SendMessage(), a message deadlock condition may
occur. For this reason, hook filters should use PostMessage() rather
than SendMessage() to pass messages to other applications.
NOTE: A hook filter can use SendMessage() to pass a message to the
current task because this will not yield the control.
Section 1.1.5 of the "Microsoft Windows Software Development Kit Reference
Volume 1" from the Windows SDK version 3.0 documentation has more
information on message deadlocks.
Additional query words: WIN16SDK
Keywords :
Version :
Platform :
Issue type : kbinfo
Last Reviewed: March 4, 1999