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/messag…
==============================================================================
--- 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/msgque…
==============================================================================
--- 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/msgque…
==============================================================================
--- 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,