Sync to trunk r39350.
[reactos.git] / reactos / subsystems / win32 / win32k / ntuser / simplecall.c
index 6840997..7b89483 100644 (file)
@@ -74,12 +74,12 @@ co_IntRegisterLogonProcess(HANDLE ProcessId, BOOL Register)
 /*
  * @unimplemented
  */
-DWORD
+DWORD_PTR
 APIENTRY
 NtUserCallNoParam(DWORD Routine)
 {
-   DWORD Result = 0;
-   DECLARE_RETURN(DWORD);
+   DWORD_PTR Result = 0;
+   DECLARE_RETURN(DWORD_PTR);
 
    DPRINT("Enter NtUserCallNoParam\n");
    UserEnterExclusive();
@@ -87,39 +87,39 @@ NtUserCallNoParam(DWORD Routine)
    switch(Routine)
    {
       case NOPARAM_ROUTINE_CREATEMENU:
-         Result = (DWORD)UserCreateMenu(FALSE);
+         Result = (DWORD_PTR)UserCreateMenu(FALSE);
          break;
 
       case NOPARAM_ROUTINE_CREATEMENUPOPUP:
-         Result = (DWORD)UserCreateMenu(TRUE);
+         Result = (DWORD_PTR)UserCreateMenu(TRUE);
          break;
 
       case NOPARAM_ROUTINE_DESTROY_CARET:
-         Result = (DWORD)co_IntDestroyCaret(PsGetCurrentThread()->Tcb.Win32Thread);
+         Result = (DWORD_PTR)co_IntDestroyCaret(PsGetCurrentThread()->Tcb.Win32Thread);
          break;
 
       case NOPARAM_ROUTINE_INIT_MESSAGE_PUMP:
-         Result = (DWORD)IntInitMessagePumpHook();
+         Result = (DWORD_PTR)IntInitMessagePumpHook();
          break;
 
       case NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP:
-         Result = (DWORD)IntUninitMessagePumpHook();
+         Result = (DWORD_PTR)IntUninitMessagePumpHook();
          break;
 
       case NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO:
-         Result = (DWORD)MsqGetMessageExtraInfo();
+         Result = (DWORD_PTR)MsqGetMessageExtraInfo();
          break;
 
       case NOPARAM_ROUTINE_ANYPOPUP:
-         Result = (DWORD)IntAnyPopup();
+         Result = (DWORD_PTR)IntAnyPopup();
          break;
 
       case NOPARAM_ROUTINE_CSRSS_INITIALIZED:
-         Result = (DWORD)CsrInit();
+         Result = (DWORD_PTR)CsrInit();
          break;
 
       case NOPARAM_ROUTINE_MSQCLEARWAKEMASK:
-         RETURN( (DWORD)IntMsqClearWakeMask());
+         RETURN( (DWORD_PTR)IntMsqClearWakeMask());
 
       default:
          DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam\n", Routine);
@@ -138,13 +138,13 @@ CLEANUP:
 /*
  * @implemented
  */
-DWORD
+DWORD_PTR
 APIENTRY
 NtUserCallOneParam(
    DWORD Param,
    DWORD Routine)
 {
-   DECLARE_RETURN(DWORD);
+   DECLARE_RETURN(DWORD_PTR);
 
    DPRINT("Enter NtUserCallOneParam\n");
 
@@ -153,7 +153,7 @@ NtUserCallOneParam(
    switch(Routine)
    {
       case ONEPARAM_ROUTINE_SHOWCURSOR:
-         RETURN( (DWORD)UserShowCursor((BOOL)Param) );
+         RETURN( (DWORD_PTR)UserShowCursor((BOOL)Param) );
 
       case ONEPARAM_ROUTINE_GETDESKTOPMAPPING:
          {
@@ -163,7 +163,7 @@ NtUserCallOneParam(
              {
                 /* Try convert the pointer to a user mode pointer if the desktop is
                    mapped into the process */
-                RETURN((DWORD)DesktopHeapAddressToUser((PVOID)Param));
+                RETURN((DWORD_PTR)DesktopHeapAddressToUser((PVOID)Param));
              }
              else
              {
@@ -174,14 +174,14 @@ NtUserCallOneParam(
       case ONEPARAM_ROUTINE_GETMENU:
          {
             PWINDOW_OBJECT Window;
-            DWORD Result;
+            DWORD_PTR Result;
 
             if(!(Window = UserGetWindowObject((HWND)Param)))
             {
                RETURN( FALSE);
             }
 
-            Result = (DWORD)Window->Wnd->IDMenu;
+            Result = Window->Wnd->IDMenu;
 
             RETURN( Result);
          }
@@ -189,7 +189,7 @@ NtUserCallOneParam(
       case ONEPARAM_ROUTINE_ISWINDOWUNICODE:
          {
             PWINDOW_OBJECT Window;
-            DWORD Result;
+            DWORD_PTR Result;
 
             Window = UserGetWindowObject((HWND)Param);
             if(!Window)
@@ -201,12 +201,12 @@ NtUserCallOneParam(
          }
 
       case ONEPARAM_ROUTINE_WINDOWFROMDC:
-         RETURN( (DWORD)IntWindowFromDC((HDC)Param));
+         RETURN( (DWORD_PTR)IntWindowFromDC((HDC)Param));
 
       case ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID:
          {
             PWINDOW_OBJECT Window;
-            DWORD Result;
+            DWORD_PTR Result;
 
             Window = UserGetWindowObject((HWND)Param);
             if(!Window)
@@ -223,17 +223,17 @@ NtUserCallOneParam(
          {
             PWINSTATION_OBJECT WinSta;
             NTSTATUS Status;
-            DWORD Result;
+            DWORD_PTR Result;
 
             Status = IntValidateWindowStationHandle(PsGetCurrentProcess()->Win32WindowStation,
                                                     KernelMode,
                                                     0,
                                                     &WinSta);
             if (!NT_SUCCESS(Status))
-               RETURN( (DWORD)FALSE);
+               RETURN( (DWORD_PTR)FALSE);
 
             /* FIXME
-            Result = (DWORD)IntSwapMouseButton(WinStaObject, (BOOL)Param); */
+            Result = (DWORD_PTR)IntSwapMouseButton(WinStaObject, (BOOL)Param); */
             Result = 0;
 
             ObDereferenceObject(WinSta);
@@ -241,10 +241,10 @@ NtUserCallOneParam(
          }
 
       case ONEPARAM_ROUTINE_SWITCHCARETSHOWING:
-         RETURN( (DWORD)IntSwitchCaretShowing((PVOID)Param));
+         RETURN( (DWORD_PTR)IntSwitchCaretShowing((PVOID)Param));
 
       case ONEPARAM_ROUTINE_SETCARETBLINKTIME:
-         RETURN( (DWORD)IntSetCaretBlinkTime((UINT)Param));
+         RETURN( (DWORD_PTR)IntSetCaretBlinkTime((UINT)Param));
 
       case ONEPARAM_ROUTINE_GETWINDOWINSTANCE:
          {
@@ -256,12 +256,12 @@ NtUserCallOneParam(
                RETURN( FALSE);
             }
 
-            Result = (DWORD)Window->Wnd->Instance;
+            Result = (DWORD_PTR)Window->Wnd->Instance;
             RETURN( Result);
          }
 
       case ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO:
-         RETURN( (DWORD)MsqSetMessageExtraInfo((LPARAM)Param));
+         RETURN( (DWORD_PTR)MsqSetMessageExtraInfo((LPARAM)Param));
 
       case ONEPARAM_ROUTINE_CREATECURICONHANDLE:
          {
@@ -282,7 +282,7 @@ NtUserCallOneParam(
             }
 
             ObDereferenceObject(WinSta);
-            RETURN((DWORD)CurIcon->Self);
+            RETURN((DWORD_PTR)CurIcon->Self);
          }
 
       case ONEPARAM_ROUTINE_GETCURSORPOSITION:
@@ -292,13 +292,13 @@ NtUserCallOneParam(
             POINT Pos;
 
             if(!Param)
-               RETURN( (DWORD)FALSE);
+               RETURN( (DWORD_PTR)FALSE);
             Status = IntValidateWindowStationHandle(PsGetCurrentProcess()->Win32WindowStation,
                                                     KernelMode,
                                                     0,
                                                     &WinSta);
             if (!NT_SUCCESS(Status))
-               RETURN( (DWORD)FALSE);
+               RETURN( (DWORD_PTR)FALSE);
 
             /* FIXME - check if process has WINSTA_READATTRIBUTES */
             IntGetCursorLocation(WinSta, &Pos);
@@ -313,20 +313,20 @@ NtUserCallOneParam(
 
             ObDereferenceObject(WinSta);
 
-            RETURN( (DWORD)TRUE);
+            RETURN( (DWORD_PTR)TRUE);
          }
 
       case ONEPARAM_ROUTINE_ISWINDOWINDESTROY:
          {
             PWINDOW_OBJECT Window;
-            DWORD Result;
+            DWORD_PTR Result;
 
             if(!(Window = UserGetWindowObject((HWND)Param)))
             {
                RETURN( FALSE);
             }
 
-            Result = (DWORD)IntIsWindowInDestroy(Window);
+            Result = (DWORD_PTR)IntIsWindowInDestroy(Window);
 
             RETURN( Result);
          }
@@ -356,13 +356,13 @@ NtUserCallOneParam(
          }
 
       case ONEPARAM_ROUTINE_MSQSETWAKEMASK:
-         RETURN( (DWORD)IntMsqSetWakeMask(Param));
+         RETURN( (DWORD_PTR)IntMsqSetWakeMask(Param));
 
       case ONEPARAM_ROUTINE_GETKEYBOARDTYPE:
          RETURN( UserGetKeyboardType(Param));
 
       case ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT:
-         RETURN( (DWORD)UserGetKeyboardLayout(Param));
+         RETURN( (DWORD_PTR)UserGetKeyboardLayout(Param));
 
       case ONEPARAM_ROUTINE_REGISTERUSERMODULE:
       {
@@ -434,7 +434,7 @@ CLEANUP:
 /*
  * @implemented
  */
-DWORD
+DWORD_PTR
 APIENTRY
 NtUserCallTwoParam(
    DWORD Param1,
@@ -443,7 +443,7 @@ NtUserCallTwoParam(
 {
    NTSTATUS Status;
    PWINDOW_OBJECT Window;
-   DECLARE_RETURN(DWORD);
+   DECLARE_RETURN(DWORD_PTR);
 
    DPRINT("Enter NtUserCallTwoParam\n");
    UserEnterExclusive();
@@ -452,12 +452,12 @@ NtUserCallTwoParam(
    {
       case TWOPARAM_ROUTINE_GETWINDOWRGNBOX:
          {
-            DWORD Ret;
+            DWORD_PTR Ret;
             RECT rcRect;
             Window = UserGetWindowObject((HWND)Param1);
             if (!Window) RETURN(ERROR);
 
-            Ret = (DWORD)IntGetWindowRgnBox(Window, &rcRect);
+            Ret = (DWORD_PTR)IntGetWindowRgnBox(Window, &rcRect);
             Status = MmCopyToCaller((PVOID)Param2, &rcRect, sizeof(RECT));
             if(!NT_SUCCESS(Status))
             {
@@ -471,11 +471,11 @@ NtUserCallTwoParam(
             Window = UserGetWindowObject((HWND)Param1);
             if (!Window) RETURN(ERROR);
 
-            RETURN( (DWORD)IntGetWindowRgn(Window, (HRGN)Param2));
+            RETURN( (DWORD_PTR)IntGetWindowRgn(Window, (HRGN)Param2));
          }
       case TWOPARAM_ROUTINE_SETMENUBARHEIGHT:
          {
-            DWORD Ret;
+            DWORD_PTR Ret;
             PMENU_OBJECT MenuObject = IntGetMenuObject((HMENU)Param1);
             if(!MenuObject)
                RETURN( 0);
@@ -486,7 +486,7 @@ NtUserCallTwoParam(
                MenuObject->MenuInfo.Height = (int)Param2;
             }
             else
-               Ret = (DWORD)MenuObject->MenuInfo.Height;
+               Ret = (DWORD_PTR)MenuObject->MenuInfo.Height;
             IntReleaseMenuObject(MenuObject);
             RETURN( Ret);
          }
@@ -507,7 +507,7 @@ NtUserCallTwoParam(
             Ret = IntSetMenuItemRect(MenuObject, smir.uItem, smir.fByPosition, &smir.rcRect);
 
             IntReleaseMenuObject(MenuObject);
-            RETURN( (DWORD)Ret);
+            RETURN( (DWORD_PTR)Ret);
          }
 
       case TWOPARAM_ROUTINE_SETGUITHRDHANDLE:
@@ -515,7 +515,7 @@ NtUserCallTwoParam(
             PUSER_MESSAGE_QUEUE MsgQueue = ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->MessageQueue;
 
             ASSERT(MsgQueue);
-            RETURN( (DWORD)MsqSetStateWindow(MsgQueue, (ULONG)Param1, (HWND)Param2));
+            RETURN( (DWORD_PTR)MsqSetStateWindow(MsgQueue, (ULONG)Param1, (HWND)Param2));
          }
 
       case TWOPARAM_ROUTINE_ENABLEWINDOW:
@@ -527,7 +527,7 @@ NtUserCallTwoParam(
          Window = UserGetWindowObject((HWND)Param1);
          if (!Window) RETURN(0);
 
-         RETURN( (DWORD)IntShowOwnedPopups(Window, (BOOL) Param2));
+         RETURN( (DWORD_PTR)IntShowOwnedPopups(Window, (BOOL) Param2));
       }
 
       case TWOPARAM_ROUTINE_ROS_UPDATEUISTATE:
@@ -551,20 +551,20 @@ NtUserCallTwoParam(
 
          if(!(Window = UserGetWindowObject((HWND)Param1)))
          {
-            RETURN( (DWORD)FALSE);
+            RETURN( (DWORD_PTR)FALSE);
          }
 
          Window->Wnd->ContextHelpId = Param2;
 
-         RETURN( (DWORD)TRUE);
+         RETURN( (DWORD_PTR)TRUE);
 
       case TWOPARAM_ROUTINE_SETCARETPOS:
-         RETURN( (DWORD)co_IntSetCaretPos((int)Param1, (int)Param2));
+         RETURN( (DWORD_PTR)co_IntSetCaretPos((int)Param1, (int)Param2));
 
       case TWOPARAM_ROUTINE_GETWINDOWINFO:
          {
             WINDOWINFO wi;
-            DWORD Ret;
+            DWORD_PTR Ret;
 
             if(!(Window = UserGetWindowObject((HWND)Param1)))
             {
@@ -590,7 +590,7 @@ NtUserCallTwoParam(
             }
 #endif
 
-            if((Ret = (DWORD)IntGetWindowInfo(Window, &wi)))
+            if((Ret = (DWORD_PTR)IntGetWindowInfo(Window, &wi)))
             {
                Status = MmCopyToCaller((PVOID)Param2, &wi, sizeof(WINDOWINFO));
                if(!NT_SUCCESS(Status))
@@ -604,13 +604,13 @@ NtUserCallTwoParam(
          }
 
       case TWOPARAM_ROUTINE_REGISTERLOGONPROC:
-         RETURN( (DWORD)co_IntRegisterLogonProcess((HANDLE)Param1, (BOOL)Param2));
+         RETURN( (DWORD_PTR)co_IntRegisterLogonProcess((HANDLE)Param1, (BOOL)Param2));
 
       case TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES:
       case TWOPARAM_ROUTINE_GETSYSCOLORPENS:
       case TWOPARAM_ROUTINE_GETSYSCOLORS:
          {
-            DWORD Ret = 0;
+            DWORD_PTR Ret = 0;
             union
             {
                PVOID Pointer;
@@ -627,13 +627,13 @@ NtUserCallTwoParam(
                switch(Routine)
                {
                   case TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES:
-                     Ret = (DWORD)IntGetSysColorBrushes(Buffer.Brushes, (UINT)Param2);
+                     Ret = (DWORD_PTR)IntGetSysColorBrushes(Buffer.Brushes, (UINT)Param2);
                      break;
                   case TWOPARAM_ROUTINE_GETSYSCOLORPENS:
-                     Ret = (DWORD)IntGetSysColorPens(Buffer.Pens, (UINT)Param2);
+                     Ret = (DWORD_PTR)IntGetSysColorPens(Buffer.Pens, (UINT)Param2);
                      break;
                   case TWOPARAM_ROUTINE_GETSYSCOLORS:
-                     Ret = (DWORD)IntGetSysColors(Buffer.Colors, (UINT)Param2);
+                     Ret = (DWORD_PTR)IntGetSysColors(Buffer.Colors, (UINT)Param2);
                      break;
                   default:
                      Ret = 0;
@@ -657,7 +657,7 @@ NtUserCallTwoParam(
 
       case TWOPARAM_ROUTINE_ROS_REGSYSCLASSES:
       {
-          DWORD Ret = 0;
+          DWORD_PTR Ret = 0;
           DWORD Count = Param1;
           PREGISTER_SYSCLASS RegSysClassArray = (PREGISTER_SYSCLASS)Param2;
 
@@ -670,7 +670,7 @@ NtUserCallTwoParam(
                                     Count,
                                     2);
 
-                  Ret = (DWORD)UserRegisterSystemClasses(Count,
+                  Ret = (DWORD_PTR)UserRegisterSystemClasses(Count,
                                                          RegSysClassArray);
               }
               _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)