implemented GetMessageExtraInfo() and SetMessageExtraInfo()

svn path=/trunk/; revision=7127
This commit is contained in:
Thomas Bluemel 2003-12-19 19:30:05 +00:00
parent 4bfb4ce695
commit 9f039ad29c
5 changed files with 54 additions and 8 deletions

View file

@ -164,6 +164,7 @@ NtUserCallNextHookEx(
#define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002
#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP 0xffff0004
#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
DWORD
STDCALL
NtUserCallNoParam(
@ -178,6 +179,7 @@ NtUserCallNoParam(
#define ONEPARAM_ROUTINE_GETCARETINFO 0x07
#define ONEPARAM_ROUTINE_SWITCHCARETSHOWING 0x08
#define ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS 0x09
#define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO 0x0a
DWORD
STDCALL
NtUserCallOneParam(

View file

@ -1,4 +1,4 @@
/* $Id: message.c,v 1.30 2003/12/14 14:01:38 gvg Exp $
/* $Id: message.c,v 1.31 2003/12/19 19:30:05 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@ -20,8 +20,7 @@ LPARAM
STDCALL
GetMessageExtraInfo(VOID)
{
UNIMPLEMENTED;
return (LPARAM)0;
return (LPARAM)NtUserCallNoParam(NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO);
}
@ -86,15 +85,14 @@ ReplyMessage(
/*
* @unimplemented
* @implemented
*/
LPARAM
STDCALL
SetMessageExtraInfo(
LPARAM lParam)
{
UNIMPLEMENTED;
return (LPARAM)0;
return (LPARAM)NtUserCallOneParam((DWORD)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO);
}

View file

@ -82,6 +82,9 @@ typedef struct _USER_MESSAGE_QUEUE
WORD WakeMask;
WORD ChangedBits;
WORD ChangedMask;
/* extra message information */
LPARAM ExtraInfo;
} USER_MESSAGE_QUEUE, *PUSER_MESSAGE_QUEUE;
@ -156,6 +159,9 @@ BOOL IntUninitMessagePumpHook();
PHOOKTABLE FASTCALL MsqGetHooks(PUSER_MESSAGE_QUEUE Queue);
VOID FASTCALL MsqSetHooks(PUSER_MESSAGE_QUEUE Queue, PHOOKTABLE Hooks);
LPARAM FASTCALL MsqSetMessageExtraInfo(LPARAM lParam);
LPARAM FASTCALL MsqGetMessageExtraInfo(VOID);
#endif /* _WIN32K_MSGQUEUE_H */
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: misc.c,v 1.34 2003/12/14 12:39:32 navaraf Exp $
/* $Id: misc.c,v 1.35 2003/12/19 19:30:05 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -23,6 +23,7 @@
#include <include/object.h>
#include <include/focus.h>
#include <include/clipboard.h>
#include <include/msgqueue.h>
#define NDEBUG
#include <debug.h>
@ -73,6 +74,10 @@ NtUserCallNoParam(DWORD Routine)
case NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP:
Result = (DWORD)IntUninitMessagePumpHook();
break;
case NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO:
Result = (DWORD)MsqGetMessageExtraInfo();
break;
default:
DPRINT1("Calling invalid routine number 0x%x in NtUserCallTwoParam\n");
@ -159,6 +164,9 @@ NtUserCallOneParam(
case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS:
return (DWORD)IntEnumClipboardFormats((UINT)Param);
case ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO:
return (DWORD)MsqSetMessageExtraInfo((LPARAM)Param);
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam()\n Param=0x%x\n",
Routine, Param);

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: msgqueue.c,v 1.50 2003/12/15 21:51:10 weiden Exp $
/* $Id: msgqueue.c,v 1.51 2003/12/19 19:30:05 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -876,4 +876,36 @@ MsqSetHooks(PUSER_MESSAGE_QUEUE Queue, PHOOKTABLE Hooks)
Queue->Hooks = Hooks;
}
LPARAM FASTCALL
MsqSetMessageExtraInfo(LPARAM lParam)
{
LPARAM Ret;
PUSER_MESSAGE_QUEUE MessageQueue;
MessageQueue = PsGetWin32Thread()->MessageQueue;
if(!MessageQueue)
{
return 0;
}
Ret = MessageQueue->ExtraInfo;
MessageQueue->ExtraInfo = lParam;
return Ret;
}
LPARAM FASTCALL
MsqGetMessageExtraInfo(VOID)
{
PUSER_MESSAGE_QUEUE MessageQueue;
MessageQueue = PsGetWin32Thread()->MessageQueue;
if(!MessageQueue)
{
return 0;
}
return MessageQueue->ExtraInfo;
}
/* EOF */