Author: jimtabor
Date: Mon Jan 12 17:36:10 2009
New Revision: 38741
URL:
http://svn.reactos.org/svn/reactos?rev=38741&view=rev
Log:
- Un-implement NtUserDispatchMessage.
- First of all, it is incorrect. I had a rant that I was going to send to the private mail
list, but this will do.
- No more "New Standards"! The Window object should already know it is ANSI or
not. A pointer to MSG is the only thing passed.
Modified:
trunk/reactos/include/reactos/win32k/ntuser.h
trunk/reactos/subsystems/win32/win32k/ntuser/message.c
Modified: trunk/reactos/include/reactos/win32k/ntuser.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntu…
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] Mon Jan 12 17:36:10 2009
@@ -1207,17 +1207,9 @@
NtUserDisableThreadIme(
DWORD dwUnknown1);
-typedef struct tagNTUSERDISPATCHMESSAGEINFO
-{
- BOOL HandledByKernel;
- BOOL Ansi;
- WNDPROC Proc;
- MSG Msg;
-} NTUSERDISPATCHMESSAGEINFO, *PNTUSERDISPATCHMESSAGEINFO;
-
LRESULT
NTAPI
-NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO MsgInfo);
+NtUserDispatchMessage(PMSG pMsg);
BOOL
NTAPI
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Mon Jan 12
17:36:10 2009
@@ -405,92 +405,10 @@
}
LRESULT APIENTRY
-NtUserDispatchMessage(PNTUSERDISPATCHMESSAGEINFO UnsafeMsgInfo)
-{
- NTSTATUS Status;
- NTUSERDISPATCHMESSAGEINFO MsgInfo;
- LRESULT Result = TRUE;
- DECLARE_RETURN(LRESULT);
-
- DPRINT("Enter NtUserDispatchMessage\n");
- UserEnterExclusive();
-
- Status = MmCopyFromCaller(&MsgInfo, UnsafeMsgInfo,
sizeof(NTUSERDISPATCHMESSAGEINFO));
- if (! NT_SUCCESS(Status))
- {
- SetLastNtError(Status);
- RETURN( 0);
- }
-
- /* Process timer messages. */
- if (WM_TIMER == MsgInfo.Msg.message && 0 != MsgInfo.Msg.lParam)
- {
- LARGE_INTEGER LargeTickCount;
- /* FIXME: Call hooks. */
-
- /* FIXME: Check for continuing validity of timer. */
-
- MsgInfo.HandledByKernel = FALSE;
- KeQueryTickCount(&LargeTickCount);
- MsgInfo.Proc = (WNDPROC) MsgInfo.Msg.lParam;
- MsgInfo.Msg.lParam = (LPARAM)LargeTickCount.u.LowPart;
- }
- else if (NULL == MsgInfo.Msg.hwnd)
- {
- MsgInfo.HandledByKernel = TRUE;
- Result = 0;
- }
- else
- {
- PWINDOW_OBJECT Window;
-
- /* Get the window object. */
- Window = UserGetWindowObject(MsgInfo.Msg.hwnd);
- if (NULL == Window)
- {
- MsgInfo.HandledByKernel = TRUE;
- Result = 0;
- }
- else
- {
- if (Window->OwnerThread != PsGetCurrentThread())
- {
- DPRINT1("Window doesn't belong to the calling thread!\n");
- MsgInfo.HandledByKernel = TRUE;
- Result = 0;
- }
- else
- {
- /* FIXME: Call hook procedures. */
-
- MsgInfo.HandledByKernel = FALSE;
- Result = 0;
-
- if (Window->Wnd->IsSystem)
- {
- MsgInfo.Proc = (!MsgInfo.Ansi ? Window->Wnd->WndProc :
Window->Wnd->WndProcExtra);
- }
- else
- {
- MsgInfo.Ansi = !Window->Wnd->Unicode;
- MsgInfo.Proc = Window->Wnd->WndProc;
- }
- }
- }
- }
- Status = MmCopyToCaller(UnsafeMsgInfo, &MsgInfo,
sizeof(NTUSERDISPATCHMESSAGEINFO));
- if (! NT_SUCCESS(Status))
- {
- SetLastNtError(Status);
- RETURN( 0);
- }
-
- RETURN( Result);
-
-CLEANUP:
- DPRINT("Leave NtUserDispatchMessage. ret=%i\n", _ret_);
- UserLeave();
- END_CLEANUP;
+NtUserDispatchMessage(PMSG UnsafeMsgInfo)
+{
+ UNIMPLEMENTED;
+ return 0;
}