Recursive calls to window manager functions exported by USER32.DLL may return without performing the requested operation and without setting an error code. This typically occurs in applications with a deeply nested window hierarchy.
Among the symptoms you may experience:
Additionally, applications that otherwise function normally may also experience the symptoms described above if WH_CALLWNDPROC or WH_CALLWNDPROCRET window hooks are set on threads in the application that own the windows. Window hooks can be set on a specific thread or on all UI threads by calling the SetWindowsHookEx function.
Among the symptoms you may experience:
- Applications with a deeply nested window hierarchy fail to resize child windows correctly when the frame window is resized. Windows are moved and/or resized by calling MoveWindow, SetWindowPos or DeferWindowPos.
- Window messages are not propagated to parent windows or to child windows as expected. DefWindowProc may not successfully propagate messages to the parent window or child windows of the window receiving the message.
- Window messages sent to a window by calling SendMessage, SendMessageTimeout or SendMessageCallback are not received by the specified window.
Additionally, applications that otherwise function normally may also experience the symptoms described above if WH_CALLWNDPROC or WH_CALLWNDPROCRET window hooks are set on threads in the application that own the windows. Window hooks can be set on a specific thread or on all UI threads by calling the SetWindowsHookEx function.