fix compile
Modified: branches/hardons1stbranch/win32k/include/keyboard.h
Modified: branches/hardons1stbranch/win32k/include/menu.h
Modified: branches/hardons1stbranch/win32k/ntuser/accelerator.c
Modified: branches/hardons1stbranch/win32k/ntuser/handle.c
Modified: branches/hardons1stbranch/win32k/ntuser/menu.c
Modified: branches/hardons1stbranch/win32k/ntuser/misc.c
Modified: branches/hardons1stbranch/win32k/ntuser/monitor.c
Modified: branches/hardons1stbranch/win32k/ntuser/window.c
_____
Modified: branches/hardons1stbranch/win32k/include/keyboard.h
--- branches/hardons1stbranch/win32k/include/keyboard.h 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/include/keyboard.h 2005-07-27
12:01:05 UTC (rev 16798)
@@ -20,8 +20,10 @@
-/* accelerator.c */
+/************************* ACCELERATOR.C ***********************/
+inline PACCELERATOR_TABLE FASTCALL UserGetAccelObject(HACCEL hCursor);
+
PACCELERATOR_TABLE UserGetAcceleratorTable(HACCEL hAccel);
PACCELERATOR_TABLE UserAllocAcceleratorTable(HACCEL* h);
@@ -56,7 +58,10 @@
BOOL FASTCALL
UserPostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
-/* window.c */
+/************************ WINDOW.C *****************************/
+
+inline VOID FASTCALL UserFreeWindowObject(PWINDOW_OBJECT Wnd);
+
PWINDOW_OBJECT FASTCALL IntGetWindowObject(HWND hWnd);
PWINDOW_OBJECT FASTCALL UserCreateWindowObject(HWND* h, ULONG bytes);
_____
Modified: branches/hardons1stbranch/win32k/include/menu.h
--- branches/hardons1stbranch/win32k/include/menu.h 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/include/menu.h 2005-07-27
12:01:05 UTC (rev 16798)
@@ -38,8 +38,6 @@
BOOL RtoL;
} MENU_OBJECT, *PMENU_OBJECT;
-PMENU_OBJECT FASTCALL
-IntGetMenuObject(HMENU hMenu);
BOOL FASTCALL
IntFreeMenuItem(PMENU_OBJECT MenuObject, PMENU_ITEM MenuItem,
_____
Modified: branches/hardons1stbranch/win32k/ntuser/accelerator.c
--- branches/hardons1stbranch/win32k/ntuser/accelerator.c
2005-07-27 11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/accelerator.c
2005-07-27 12:01:05 UTC (rev 16798)
@@ -82,9 +82,8 @@
DPRINT("Enter NtUserCopyAcceleratorTable\n");
UserEnterExclusive();
-
- AcceleratorTable = UserGetAcceleratorTable(Table);
+ AcceleratorTable = UserGetAccelObject(Table);
if (!AcceleratorTable)
{
@@ -98,8 +97,6 @@
Status = MmCopyToCaller(Entries, AcceleratorTable->Table, Ret *
sizeof(ACCEL));
if (!NT_SUCCESS(Status))
{
-// ObmDereferenceObject(AcceleratorTable);
-// ObDereferenceObject(WindowStation);
SetLastNtError(Status);
RETURN(0);
}
@@ -109,9 +106,6 @@
Ret = AcceleratorTable->Count;
}
-// ObmDereferenceObject(AcceleratorTable);
-// ObDereferenceObject(WindowStation);
-
RETURN(Ret);
CLEANUP:
@@ -170,7 +164,7 @@
AcceleratorTable = UserCreateAcceleratorTableObject(&Handle);
if (AcceleratorTable == NULL)
{
-// ObDereferenceObject(WindowStation);
+
SetLastNtError(STATUS_NO_MEMORY);
DPRINT1("E2\n");
RETURN( (HACCEL) 0);
@@ -184,7 +178,6 @@
if (AcceleratorTable->Table == NULL)
{
// ObmCloseHandle(WindowStation->HandleTable, Handle);
-// ObDereferenceObject(WindowStation);
SetLastNtError(Status);
DPRINT1("E3\n");
RETURN( (HACCEL) 0);
@@ -195,14 +188,12 @@
{
ExFreePool(AcceleratorTable->Table);
// ObmCloseHandle(WindowStation->HandleTable, Handle);
-// ObDereferenceObject(WindowStation);
SetLastNtError(Status);
DPRINT1("E4\n");
RETURN((HACCEL) 0);
}
}
-// ObDereferenceObject(WindowStation);
/* FIXME: Save HandleTable in a list somewhere so we can clean it up
again */
RETURN( (HACCEL) Handle);
@@ -231,7 +222,7 @@
UserEnterExclusive();
//FIXME
- AcceleratorTable = UserGetAcceleratorTable/*Object*/(Table);
+ AcceleratorTable = UserGetAccelObject(Table);
if (!AcceleratorTable)
{
@@ -444,6 +435,14 @@
return TRUE;
}
+inline PACCELERATOR_TABLE FASTCALL UserGetAccelObject(HACCEL hCursor)
+{
+ PWINSTATION_OBJECT WinSta;
+ WinSta = PsGetWin32Thread()->Desktop->WindowStation;
+ return (PACCELERATOR_TABLE)UserGetObject(&WinSta->HandleTable,
hCursor, USER_CURSOR_ICON );
+}
+
+
int
STDCALL
NtUserTranslateAccelerator(
@@ -483,11 +482,10 @@
RETURN(0);
}
- AcceleratorTable = UserGetAcceleratorTable(Table);
+ AcceleratorTable = UserGetAccelObject(Table);
if (!AcceleratorTable)
{
SetLastWin32Error(ERROR_INVALID_ACCEL_HANDLE);
-// ObDereferenceObject(WindowStation);
RETURN(0);
}
@@ -510,8 +508,6 @@
}
}
- ObDereferenceObject(WindowStation);
-
RETURN(0);
CLEANUP:
_____
Modified: branches/hardons1stbranch/win32k/ntuser/handle.c
--- branches/hardons1stbranch/win32k/ntuser/handle.c 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/handle.c 2005-07-27
12:01:05 UTC (rev 16798)
@@ -155,10 +155,6 @@
return NULL;
}
-// if (entry->ptr){
-// ExFreePool(entry->ptr);
-// }
-
return free_user_entry(ht, entry );
}
_____
Modified: branches/hardons1stbranch/win32k/ntuser/menu.c
--- branches/hardons1stbranch/win32k/ntuser/menu.c 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/menu.c 2005-07-27
12:01:05 UTC (rev 16798)
@@ -150,7 +150,7 @@
if(bRecurse && MenuItem->hSubMenu)
{
PMENU_OBJECT SubMenuObject;
- SubMenuObject = IntGetMenuObject(MenuItem->hSubMenu );
+ SubMenuObject = UserGetMenuObject(MenuItem->hSubMenu );
if(SubMenuObject)
{
IntDestroyMenuObject(SubMenuObject, bRecurse, TRUE);
@@ -465,7 +465,7 @@
{
PMENU_OBJECT Menu;
- if((Menu = IntGetMenuObject(hMenu)))
+ if((Menu = UserGetMenuObject(hMenu)))
{
// IntReleaseMenuObject(Menu);
return TRUE;
@@ -550,7 +550,7 @@
}
else if (0 != (CurItem->fType & MF_POPUP))
{
- MenuObject = IntGetMenuObject(CurItem->hSubMenu);
+ MenuObject = UserGetMenuObject(CurItem->hSubMenu);
if (NULL != MenuObject)
{
ret = UserGetMenuItemByFlag(MenuObject, uSearchBy, fFlag,
@@ -756,7 +756,7 @@
/* Make sure the submenu is marked as a popup menu */
if (MenuItem->hSubMenu)
{
- SubMenuObject = IntGetMenuObject(MenuItem->hSubMenu);
+ SubMenuObject = UserGetMenuObject(MenuItem->hSubMenu);
if (SubMenuObject != NULL)
{
SubMenuObject->MenuInfo.Flags |= MF_POPUP;
@@ -1159,7 +1159,7 @@
MenuItem->hSubMenu)
{
- SubMenuObject = IntGetMenuObject(MenuItem->hSubMenu);
+ SubMenuObject = UserGetMenuObject(MenuItem->hSubMenu);
if(!SubMenuObject || (SubMenuObject == MenuObject))
break;
@@ -1301,7 +1301,7 @@
DPRINT("Enter NtUserBuildMenuItemList\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1342,7 +1342,7 @@
DPRINT("Enter NtUserCheckMenuItem\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hmenu);
+ MenuObject = UserGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1422,7 +1422,7 @@
DPRINT("Enter NtUserDeleteMenu\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1451,7 +1451,7 @@
DPRINT("Enter NtUserDestroyMenu\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1487,7 +1487,7 @@
DPRINT("Enter NtUserEnableMenuItem\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1521,7 +1521,7 @@
DPRINT("Enter NtUserInsertMenuItem\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1577,7 +1577,7 @@
DPRINT("Enter NtUserGetMenuDefaultItem\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1648,7 +1648,7 @@
DPRINT("Enter NtUserGetMenuItemRect\n");
UserEnterExclusive();
- Menu = IntGetMenuObject(hMenu);
+ Menu = UserGetMenuObject(hMenu);
if(!Menu)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1722,7 +1722,7 @@
SetLastWin32Error(ERROR_INVALID_HANDLE);
RETURN(FALSE);
}
- MenuObject = IntGetMenuObject(hmenu);
+ MenuObject = UserGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1779,7 +1779,7 @@
RETURN(FALSE);
}
- MenuObject = IntGetMenuObject(Menu);
+ MenuObject = UserGetMenuObject(Menu);
if (NULL == MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1834,7 +1834,7 @@
DPRINT("Enter NtUserMenuItemFromPoint\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(Menu);
+ MenuObject = UserGetMenuObject(Menu);
if (NULL == MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1892,7 +1892,7 @@
DPRINT("Enter NtUserMenuItemInfo\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(Menu);
+ MenuObject = UserGetMenuObject(Menu);
if (NULL == MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -1996,7 +1996,7 @@
DPRINT("Enter NtUserRemoveMenu\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -2026,7 +2026,7 @@
DPRINT("Enter NtUserSetMenuContextHelpId\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hmenu);
+ MenuObject = UserGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -2057,7 +2057,7 @@
DPRINT("Enter NtUserSetMenuDefaultItem\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -2086,7 +2086,7 @@
DPRINT("Enter NtUserSetMenuFlagRtoL\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
@@ -2159,7 +2159,7 @@
DPRINT("Enter NtUserTrackPopupMenuEx\n");
UserEnterExclusive();
- MenuObject = IntGetMenuObject(hmenu);
+ MenuObject = UserGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
_____
Modified: branches/hardons1stbranch/win32k/ntuser/misc.c
--- branches/hardons1stbranch/win32k/ntuser/misc.c 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/misc.c 2005-07-27
12:01:05 UTC (rev 16798)
@@ -427,7 +427,7 @@
case TWOPARAM_ROUTINE_SETMENUBARHEIGHT:
{
DWORD Ret;
- PMENU_OBJECT MenuObject = IntGetMenuObject((HMENU)Param1);
+ PMENU_OBJECT MenuObject = UserGetMenuObject((HMENU)Param1);
if(!MenuObject)
RETURN( 0);
@@ -445,7 +445,7 @@
{
BOOL Ret;
SETMENUITEMRECT smir;
- PMENU_OBJECT MenuObject = IntGetMenuObject((HMENU)Param1);
+ PMENU_OBJECT MenuObject = UserGetMenuObject((HMENU)Param1);
if(!MenuObject)
RETURN( 0);
@@ -722,7 +722,7 @@
DPRINT("HWNDLOCK_ROUTINE_DRAWMENUBAR\n");
Ret = FALSE;
if (!((Window->Style & (WS_CHILD | WS_POPUP)) !=
WS_CHILD)) break;
- MenuObject = IntGetMenuObject((HMENU) Window->IDMenu);
+ MenuObject = UserGetMenuObject((HMENU) Window->IDMenu);
if(MenuObject == NULL) break;
MenuObject->MenuInfo.WndOwner = hWnd;
MenuObject->MenuInfo.Height = 0;
_____
Modified: branches/hardons1stbranch/win32k/ntuser/monitor.c
--- branches/hardons1stbranch/win32k/ntuser/monitor.c 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/monitor.c 2005-07-27
12:01:05 UTC (rev 16798)
@@ -81,11 +81,13 @@
PMONITOR_OBJECT FASTCALL UserCreateMonitorObject(HANDLE* h)
{
PVOID mem;
+ PWINSTATION_OBJECT WinSta;
mem = ExAllocatePool(PagedPool, sizeof(MONITOR_OBJECT));
if (!mem) return NULL;
-
- *h = UserAllocHandle(mem, USER_MONITOR);
+ WinSta = UserGetCurrentWinSta();
+
+ *h = UserAllocHandle(&WinSta->HandleTable, mem, USER_MONITOR);
if (!*h){
ExFreePool(mem);
return NULL;
@@ -143,7 +145,10 @@
PMONITOR_OBJECT UserGetMonitorObject(HANDLE hCursor)
{
- return (PMONITOR_OBJECT)UserGetObject(hCursor, USER_MONITOR );
+ PWINSTATION_OBJECT WinSta;
+ WinSta = UserGetCurrentWinSta();
+
+ return (PMONITOR_OBJECT)UserGetObject(&WinSta->HandleTable, hCursor,
USER_MONITOR );
}
_____
Modified: branches/hardons1stbranch/win32k/ntuser/window.c
--- branches/hardons1stbranch/win32k/ntuser/window.c 2005-07-27
11:48:46 UTC (rev 16797)
+++ branches/hardons1stbranch/win32k/ntuser/window.c 2005-07-27
12:01:05 UTC (rev 16798)
@@ -105,7 +105,9 @@
PWINDOW_OBJECT FASTCALL IntGetWindowObject(HWND hWnd)
{
- return (PWINDOW_OBJECT)UserGetObject(hWnd, USER_WINDOW );
+ PWINSTATION_OBJECT WinSta;
+ WinSta = UserGetCurrentWinSta();
+ return (PWINDOW_OBJECT)UserGetObject(&WinSta->HandleTable, hWnd,
USER_WINDOW );
}
@@ -398,14 +400,14 @@
#endif
if (!(Window->Style & WS_CHILD) && Window->IDMenu
- && (Menu = IntGetMenuObject((HMENU)Window->IDMenu)))
+ && (Menu = UserGetMenuObject((HMENU)Window->IDMenu)))
{
IntDestroyMenuObject(Menu, TRUE, TRUE);
Window->IDMenu = 0;
}
if(Window->SystemMenu
- && (Menu = IntGetMenuObject(Window->SystemMenu)))
+ && (Menu = UserGetMenuObject(Window->SystemMenu)))
{
IntDestroyMenuObject(Menu, TRUE, TRUE);
Window->SystemMenu = (HMENU)0;
@@ -419,9 +421,6 @@
IntUnlinkWindow(Window);
- //'FIXME IntReferenceWindowObject(Window);
-
-
IntDestroyScrollBars(Window);
/* remove the window from the class object */
@@ -445,16 +444,19 @@
MsqRemoveWindowMessagesFromQueue(Window);
- //ObmCloseHandle(ThreadData->Desktop->WindowStation->HandleTable,
Window->Self);
- UserFreeHandle(Window->Self);
+ UserFreeWindowObject(Window);
-// memset(Window, 0x
-//memset( void *dest, int c, size_t count );
- RtlZeroMemory(Window, sizeof(WINDOW_OBJECT));
-
return 0;
}
+inline VOID FASTCALL UserFreeWindowObject(PWINDOW_OBJECT Wnd)
+{
+ PWINSTATION_OBJECT WinSta = UserGetCurrentWinSta();
+ UserFreeHandle(&WinSta->HandleTable, Wnd->Self);
+ RtlZeroMemory(Wnd, sizeof(WINDOW_OBJECT) + Wnd->ExtraDataSize);
+ ExFreePool(Wnd);
+}
+
VOID FASTCALL
IntGetWindowBorderMeasures(PWINDOW_OBJECT WindowObject, UINT *cx, UINT
*cy)
{
@@ -515,7 +517,7 @@
if (0 != WindowObject->IDMenu)
{
- OldMenuObject = IntGetMenuObject((HMENU) WindowObject->IDMenu);
+ OldMenuObject = UserGetMenuObject((HMENU) WindowObject->IDMenu);
ASSERT(NULL == OldMenuObject || OldMenuObject->MenuInfo.Wnd ==
WindowObject->Self);
}
else
@@ -525,7 +527,7 @@
if (NULL != Menu)
{
- NewMenuObject = IntGetMenuObject(Menu);
+ NewMenuObject = UserGetMenuObject(Menu);
if (NULL == NewMenuObject)
{
// if (NULL != OldMenuObject)
@@ -670,7 +672,7 @@
if(WindowObject->SystemMenu)
{
- MenuObject = IntGetMenuObject(WindowObject->SystemMenu);
+ MenuObject = UserGetMenuObject(WindowObject->SystemMenu);
if(MenuObject)
{
IntDestroyMenuObject(MenuObject, FALSE, TRUE);
@@ -681,7 +683,7 @@
if(W32Thread->Desktop->WindowStation->SystemMenuTemplate)
{
/* clone system menu */
- MenuObject =
IntGetMenuObject(W32Thread->Desktop->WindowStation->SystemMenuTemplate);
+ MenuObject =
UserGetMenuObject(W32Thread->Desktop->WindowStation->SystemMenuTemplate)
;
if(!MenuObject)
return NULL;
@@ -702,7 +704,7 @@
{
return NULL;
}
- SysMenuObject = IntGetMenuObject(SysMenu);
+ SysMenuObject = UserGetMenuObject(SysMenu);
if (NULL == SysMenuObject)
{
NtUserDestroyMenu(SysMenu);
@@ -716,7 +718,7 @@
NtUserDestroyMenu(SysMenu);
return NULL;
}
- MenuObject = IntGetMenuObject(NewMenu);
+ MenuObject = UserGetMenuObject(NewMenu);
if(!MenuObject)
{
NtUserDestroyMenu(SysMenu);
@@ -752,7 +754,7 @@
else
{
if(WindowObject->SystemMenu)
- return IntGetMenuObject((HMENU)WindowObject->SystemMenu);
+ return UserGetMenuObject((HMENU)WindowObject->SystemMenu);
else
return NULL;
}
@@ -1015,7 +1017,7 @@
PMENU_OBJECT OldMenuObject;
if(WindowObject->SystemMenu)
{
- OldMenuObject = IntGetMenuObject(WindowObject->SystemMenu);
+ OldMenuObject = UserGetMenuObject(WindowObject->SystemMenu);
if(OldMenuObject)
{
OldMenuObject->MenuInfo.Flags &= ~ MF_SYSMENU;
@@ -1383,11 +1385,11 @@
PWINDOW_OBJECT FASTCALL UserCreateWindowObject(HWND* h, ULONG bytes)
{
PVOID mem;
-
+ PWINSTATION_OBJECT WinSta = UserGetCurrentWinSta();
mem = ExAllocatePool(PagedPool, bytes);
if (!mem) return NULL;
RtlZeroMemory(mem, bytes);
- *h = UserAllocHandle(mem, USER_WINDOW);
+ *h = UserAllocHandle(&WinSta->HandleTable, mem, USER_WINDOW);
if (!*h){
ExFreePool(mem);
return NULL;
@@ -3098,7 +3100,7 @@
/*
* Assign new menu handle.
*/
- MenuObject = IntGetMenuObject(hMenu);
+ MenuObject = UserGetMenuObject(hMenu);
if (!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);