Author: jimtabor Date: Wed Jan 7 14:02:45 2015 New Revision: 65993
URL: http://svn.reactos.org/svn/reactos?rev=65993&view=rev Log: [Win32k] - Answer my own question. Use the Extra Information long pointer to help traffic data. See CORE-7447.
Modified: trunk/reactos/win32ss/user/ntuser/message.c trunk/reactos/win32ss/user/ntuser/msgqueue.c trunk/reactos/win32ss/user/ntuser/msgqueue.h
Modified: trunk/reactos/win32ss/user/ntuser/message.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/message... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] Wed Jan 7 14:02:45 2015 @@ -772,6 +772,7 @@ UINT MsgFilterMin, UINT MsgFilterMax, UINT RemoveMsg, + LONG_PTR *ExtraInfo, BOOL bGMSG ) { PTHREADINFO pti; @@ -835,6 +836,7 @@ MsgFilterMin, MsgFilterMax, ProcessMask, + ExtraInfo, Msg )) { return TRUE; @@ -916,6 +918,7 @@ PTHREADINFO pti; NTSTATUS Status = STATUS_SUCCESS; MSG Msg; + LONG_PTR ExtraInfo = 0;
pti = PsGetCurrentThreadWin32Thread();
@@ -926,6 +929,7 @@ MsgFilterMin, MsgFilterMax, MAKELONG( PM_NOREMOVE, GetWakeMask( MsgFilterMin, MsgFilterMax)), + &ExtraInfo, TRUE ) ) // act like GetMessage. { return TRUE; @@ -964,6 +968,7 @@ PTHREADINFO pti; BOOL Present = FALSE; NTSTATUS Status; + LONG_PTR ExtraInfo = 0;
if ( hWnd == HWND_TOPMOST || hWnd == HWND_BROADCAST ) hWnd = HWND_BOTTOM; @@ -1005,6 +1010,7 @@ MsgFilterMin, MsgFilterMax, RemoveMsg, + &ExtraInfo, bGMSG ); if (Present) { @@ -1122,6 +1128,7 @@ PTHREADINFO pti; MSG Message; LARGE_INTEGER LargeTickCount; + LONG_PTR ExtraInfo = 0;
Message.hwnd = Wnd; Message.message = Msg; @@ -1212,7 +1219,7 @@ } else { - MsqPostMessage(pti, &Message, FALSE, QS_POSTMESSAGE, 0, 0); + MsqPostMessage(pti, &Message, FALSE, QS_POSTMESSAGE, 0, ExtraInfo); } } return TRUE;
Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/msgqueu... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] Wed Jan 7 14:02:45 2015 @@ -2026,6 +2026,7 @@ IN UINT MsgFilterLow, IN UINT MsgFilterHigh, IN UINT QSflags, + OUT LONG_PTR *ExtraInfo, OUT PMSG Message) { PUSER_MESSAGE CurrentMessage; @@ -2053,8 +2054,9 @@ ( ( ( MsgFilterLow == 0 && MsgFilterHigh == 0 ) && CurrentMessage->QS_Flags & QSflags ) || ( MsgFilterLow <= CurrentMessage->Msg.message && MsgFilterHigh >= CurrentMessage->Msg.message ) ) ) { - *Message = CurrentMessage->Msg; - QS_Flags = CurrentMessage->QS_Flags; + *Message = CurrentMessage->Msg; + *ExtraInfo = CurrentMessage->ExtraInfo; + QS_Flags = CurrentMessage->QS_Flags;
if (Remove) {
Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/msgqueu... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/msgqueue.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/msgqueue.h [iso-8859-1] Wed Jan 7 14:02:45 2015 @@ -131,6 +131,7 @@ IN UINT MsgFilterLow, IN UINT MsgFilterHigh, IN UINT QSflags, + OUT LONG_PTR *ExtraInfo, OUT PMSG Message); BOOL APIENTRY co_MsqPeekHardwareMessage(IN PTHREADINFO pti,