mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 19:26:16 +00:00
Some changes for menus and unstubbed NtUserCallNoParam() and NtUserCallOneParam()
svn path=/trunk/; revision=5429
This commit is contained in:
@@ -158,13 +158,15 @@ NtUserCallNextHookEx(
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallNoParam(
|
||||
DWORD Unknown0);
|
||||
DWORD Routine);
|
||||
|
||||
#define ONEPARAM_ROUTINE_GETMENU 0x01
|
||||
#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallOneParam(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1);
|
||||
DWORD Param,
|
||||
DWORD Routine);
|
||||
|
||||
#define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
|
||||
#define TWOPARAM_ROUTINE_UNKNOWN 0x54
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: defwnd.c,v 1.59 2003/08/05 15:41:03 weiden Exp $
|
||||
/* $Id: defwnd.c,v 1.60 2003/08/06 11:32:17 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
@@ -209,7 +209,7 @@ DefWndRedrawIconTitle(HWND hWnd)
|
||||
BOOL
|
||||
UserHasMenu(HWND hWnd, ULONG Style)
|
||||
{
|
||||
return(!(Style & WS_CHILD) && GetWindowLong(hWnd, GWL_ID) != 0);
|
||||
return(!(Style & WS_CHILD) && GetMenu(hWnd) != 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -490,7 +490,7 @@ DefWndDoPaintNC(HWND hWnd, HRGN clip)
|
||||
{
|
||||
RECT r = rect;
|
||||
r.bottom = rect.top + GetSystemMetrics(SM_CYMENU);
|
||||
|
||||
DbgPrint("Calling MenuDrawMenuBar()\n");
|
||||
rect.top += MenuDrawMenuBar(hDC, &r, hWnd, FALSE);
|
||||
}
|
||||
|
||||
@@ -1389,6 +1389,7 @@ DefWndNCCalcSize(HWND hWnd, RECT* Rect)
|
||||
Rect->bottom -= TmpRect.bottom;
|
||||
if (UserHasMenu(hWnd, GetWindowLong(hWnd, GWL_EXSTYLE)))
|
||||
{
|
||||
DbgPrint("Calling MenuGetMenuBarHeight()\n");
|
||||
Rect->top += MenuGetMenuBarHeight(hWnd,
|
||||
Rect->right - Rect->left,
|
||||
-TmpRect.left,
|
||||
|
||||
+187
-903
File diff suppressed because it is too large
Load Diff
@@ -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: menu.c,v 1.9 2003/08/05 19:50:57 weiden Exp $
|
||||
/* $Id: menu.c,v 1.10 2003/08/06 11:32:17 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -101,7 +101,7 @@ CleanupMenuImpl(VOID)
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
void FASTCALL
|
||||
DumpMenuItemList(PMENU_ITEM MenuItem)
|
||||
{
|
||||
@@ -532,7 +532,7 @@ W32kInsertMenuItem(PMENU_OBJECT MenuObject, UINT uItem, WINBOOL fByPosition,
|
||||
}
|
||||
|
||||
pos = W32kInsertMenuItemToList(MenuObject, MenuItem, pos);
|
||||
|
||||
DumpMenuItemList(MenuObject->MenuItemList);
|
||||
return pos >= 0;
|
||||
}
|
||||
|
||||
@@ -713,7 +713,7 @@ NtUserBuildMenuItemList(
|
||||
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -730,7 +730,9 @@ NtUserBuildMenuItemList(
|
||||
{
|
||||
res = MenuObject->MenuItemCount;
|
||||
}
|
||||
|
||||
W32kReleaseMenuObject(MenuObject);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -748,7 +750,7 @@ NtUserCheckMenuItem(
|
||||
PMENU_OBJECT MenuObject = W32kGetMenuObject(hmenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return (DWORD)-1;
|
||||
}
|
||||
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
|
||||
@@ -815,7 +817,7 @@ NtUserDestroyMenu(
|
||||
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -837,7 +839,7 @@ NtUserEnableMenuItem(
|
||||
MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return res;
|
||||
}
|
||||
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
|
||||
@@ -864,7 +866,7 @@ NtUserInsertMenuItem(
|
||||
MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return 0;
|
||||
}
|
||||
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
|
||||
@@ -955,7 +957,7 @@ NtUserHiliteMenuItem(
|
||||
if(!MenuObject)
|
||||
{
|
||||
W32kReleaseWindowObject(WindowObject);
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return res;
|
||||
}
|
||||
if(WindowObject->Menu == hmenu)
|
||||
@@ -991,7 +993,7 @@ NtUserMenuInfo(
|
||||
MenuObject = W32kGetMenuObject(hmenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
if(fsog)
|
||||
@@ -1070,7 +1072,7 @@ NtUserSetMenuContextHelpId(
|
||||
PMENU_OBJECT MenuObject = W32kGetMenuObject(hmenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1094,7 +1096,7 @@ NtUserSetMenuDefaultItem(
|
||||
MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
|
||||
@@ -1117,7 +1119,7 @@ NtUserSetMenuFlagRtoL(
|
||||
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
|
||||
if(!MenuObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: misc.c,v 1.1 2003/05/26 18:52:37 gvg Exp $
|
||||
/* $Id: misc.c,v 1.2 2003/08/06 11:32:17 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -18,6 +18,65 @@
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallNoParam(
|
||||
DWORD Routine)
|
||||
{
|
||||
/*
|
||||
switch(Routine)
|
||||
{
|
||||
case 1:
|
||||
return 0;
|
||||
}
|
||||
DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam()\n", Routine);
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
*/
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallOneParam(
|
||||
DWORD Param,
|
||||
DWORD Routine)
|
||||
{
|
||||
DWORD Result = 0;
|
||||
PWINDOW_OBJECT WindowObject;
|
||||
switch(Routine)
|
||||
{
|
||||
case ONEPARAM_ROUTINE_GETMENU:
|
||||
WindowObject = W32kGetWindowObject((HWND)Param);
|
||||
if(!WindowObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
Result = WindowObject->Menu;
|
||||
DbgPrint("ONEPARAM_ROUTINE_GETMENU = 0x%x\n", Result);
|
||||
W32kReleaseWindowObject(WindowObject);
|
||||
return Result;
|
||||
case ONEPARAM_ROUTINE_ISWINDOWUNICODE:
|
||||
WindowObject = W32kGetWindowObject((HWND)Param);
|
||||
if(!WindowObject)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||
return FALSE;
|
||||
}
|
||||
Result = WindowObject->Unicode;
|
||||
W32kReleaseWindowObject(WindowObject);
|
||||
return Result;
|
||||
|
||||
}
|
||||
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam()\n Param=0x%x\n",
|
||||
Routine, Param);
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallTwoParam(
|
||||
@@ -25,36 +84,30 @@ NtUserCallTwoParam(
|
||||
DWORD Param2,
|
||||
DWORD Routine)
|
||||
{
|
||||
DWORD Result;
|
||||
|
||||
switch(Routine)
|
||||
{
|
||||
case TWOPARAM_ROUTINE_ENABLEWINDOW:
|
||||
UNIMPLEMENTED
|
||||
break;
|
||||
{
|
||||
case TWOPARAM_ROUTINE_ENABLEWINDOW:
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
|
||||
case TWOPARAM_ROUTINE_UNKNOWN:
|
||||
UNIMPLEMENTED
|
||||
break;
|
||||
case TWOPARAM_ROUTINE_UNKNOWN:
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
|
||||
case TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS:
|
||||
UNIMPLEMENTED
|
||||
break;
|
||||
case TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS:
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
|
||||
case TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW:
|
||||
UNIMPLEMENTED
|
||||
break;
|
||||
case TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW:
|
||||
UNIMPLEMENTED
|
||||
return 0;
|
||||
|
||||
case TWOPARAM_ROUTINE_VALIDATERGN:
|
||||
Result = (DWORD) NtUserValidateRgn((HWND) Param1, (HRGN) Param2);
|
||||
break;
|
||||
case TWOPARAM_ROUTINE_VALIDATERGN:
|
||||
return (DWORD)NtUserValidateRgn((HWND) Param1, (HRGN) Param2);
|
||||
|
||||
default:
|
||||
DPRINT1("Calling invalid routine number 0x%x in NtUserCallTwoParam\n");
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
Result = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return Result;
|
||||
}
|
||||
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam()\n Param1=0x%x Parm2=0x%x\n",
|
||||
Routine, Param1, Param2);
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: stubs.c,v 1.22 2003/08/04 16:54:54 gdalsnes Exp $
|
||||
/* $Id: stubs.c,v 1.23 2003/08/06 11:32:17 weiden Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -148,27 +148,6 @@ NtUserCallMsgFilter(
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallNoParam(
|
||||
DWORD Unknown0)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallOneParam(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserChangeClipboardChain(
|
||||
|
||||
Reference in New Issue
Block a user