Microsoft KB Archive/74857

{|
 * width="100%"|

INFO: Avoid Calling SendMessage Inside a Hook Filter Function

 * }

Q74857

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK)
 * Microsoft Windows Software Development Kit (SDK) 3.1

-

SUMMARY
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 &quot;Microsoft Windows Software Development Kit Reference Volume 1&quot; from the Windows SDK version 3.0 documentation has more information on message deadlocks.

Additional query words: WIN16SDK

Keywords :

Issue type : kbinfo

Technology : kbWin32SDKSearch kbAudDeveloper kbWin3xSearch kbSDKSearch kbWin32sSearch kbWinSDKSearch kbWinSDK310