Patch by Stefan Ginsberg (stefan__100__ AT hotmail DOT com):

- remove NtUserEnumClipboardFormats, use ->ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMAT insetad
- remove NtUserRegisterClipboardFormat, use NtUserRegisterWIndowsMessage instead
- remove NtUserKillSystemTimer, use HWNDPARAM_ROUTINE_KILLSYSTEMTIMER instead
- remove NtUserInsertMenuItem, use NtUserThunkedMenuItemInfo instead
- remove NtUserGetCapture, use THREADSTATE_CAPTUREWINDOW instead
- remove NtUserGetActiveWindow, use THREADSTATE_ACTIVEWINDOW instead
- remove NtUserGetQueueStatus, use ONEPARAM_ROUTIME_GETQUEUESTATUS instead
- remove NtUserGetLastActivePopup, wasn't implemented
- remove NtUserRealizePalette from ntuser.h, it's not implemented
- remove duplicate NtUserGetLastInputInfo from ntuser.h
- remove PrivateCsrssRergisterPrimitive from user32, it was unused and unimplemented
- remove NtUserDereferenceWndprocHandle, it was unused
- move WNDPROC_INFO structure from ntuser.h to win32k/include/class.h, as it's not used in usermode anymore
tested with AbiWord and FF on VMWare

svn path=/trunk/; revision=32825
This commit is contained in:
Timo Kreuzer 2008-04-03 02:13:34 +00:00
parent 3df1bfcf2e
commit 1e51a48800
24 changed files with 83 additions and 258 deletions

View file

@ -43,7 +43,7 @@ KillSystemTimer(
HWND hWnd, HWND hWnd,
UINT_PTR IDEvent) UINT_PTR IDEvent)
{ {
return NtUserKillSystemTimer(hWnd, IDEvent); return NtUserCallHwndParam(hWnd, IDEvent, HWNDPARAM_ROUTINE_KILLSYSTEMTIMER);
} }
@ -89,3 +89,6 @@ SetTimer(
return NtUserSetTimer(hWnd, IDEvent, Period, TimerFunc); return NtUserSetTimer(hWnd, IDEvent, Period, TimerFunc);
} }

View file

@ -521,7 +521,6 @@ PostQuitMessage@4
PostThreadMessageA@16 PostThreadMessageA@16
PostThreadMessageW@16 PostThreadMessageW@16
PrintWindow@12 PrintWindow@12
PrivateCsrssRegisterPrimitive@0
PrivateCsrssManualGuiCheck@4 PrivateCsrssManualGuiCheck@4
PrivateCsrssInitialized@0 PrivateCsrssInitialized@0
PrivateExtractIconExA@20 PrivateExtractIconExA@20

View file

@ -69,7 +69,7 @@ EmptyClipboard(VOID)
UINT STDCALL UINT STDCALL
EnumClipboardFormats(UINT format) EnumClipboardFormats(UINT format)
{ {
UINT ret = NtUserEnumClipboardFormats(format); UINT ret = NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS);
return ret; return ret;
} }
@ -248,7 +248,7 @@ RegisterClipboardFormatA(LPCSTR lpszFormat)
ret = RtlCreateUnicodeStringFromAsciiz(&usFormat, lpszFormat); ret = RtlCreateUnicodeStringFromAsciiz(&usFormat, lpszFormat);
if (ret) if (ret)
{ {
ret = NtUserRegisterClipboardFormat(&usFormat); //(LPCWSTR) ret = NtUserRegisterWindowMessage(&usFormat); //(LPCWSTR)
RtlFreeUnicodeString(&usFormat); RtlFreeUnicodeString(&usFormat);
} }
@ -278,7 +278,7 @@ RegisterClipboardFormatW(LPCWSTR lpszFormat)
} }
RtlInitUnicodeString(&usFormat, lpszFormat); RtlInitUnicodeString(&usFormat, lpszFormat);
ret = NtUserRegisterClipboardFormat(&usFormat); ret = NtUserRegisterWindowMessage(&usFormat);
return ret; return ret;
} }

View file

@ -574,15 +574,6 @@ SendInput(
return NtUserSendInput(nInputs, pInputs, cbSize); return NtUserSendInput(nInputs, pInputs, cbSize);
} }
/*
* Private call for CSRSS
*/
VOID
STDCALL
PrivateCsrssRegisterPrimitive(VOID)
{
NtUserCallNoParam(NOPARAM_ROUTINE_REGISTER_PRIMITIVE);
}
/* /*
* @implemented * @implemented

View file

@ -4458,7 +4458,7 @@ InsertMenuItemA(
mi.cch = MenuText.Length / sizeof(WCHAR); mi.cch = MenuText.Length / sizeof(WCHAR);
CleanHeap = TRUE; CleanHeap = TRUE;
} }
res = NtUserInsertMenuItem(hMenu, uItem, fByPosition, &mi); res = NtUserThunkedMenuItemInfo(hMenu, uItem, fByPosition, TRUE, &mi, NULL);
if ( CleanHeap ) RtlFreeUnicodeString ( &MenuText ); if ( CleanHeap ) RtlFreeUnicodeString ( &MenuText );
} }
@ -4504,7 +4504,7 @@ InsertMenuItemW(
mi.dwTypeData = MenuText.Buffer; mi.dwTypeData = MenuText.Buffer;
mi.cch = MenuText.Length / sizeof(WCHAR); mi.cch = MenuText.Length / sizeof(WCHAR);
} }
res = NtUserInsertMenuItem(hMenu, uItem, fByPosition, &mi); res = NtUserThunkedMenuItemInfo(hMenu, uItem, fByPosition, TRUE, &mi, NULL);
} }
return res; return res;
} }
@ -5173,3 +5173,6 @@ ChangeMenuA(
} }

View file

@ -2140,7 +2140,7 @@ SetCapture(HWND hWnd)
HWND STDCALL HWND STDCALL
GetCapture(VOID) GetCapture(VOID)
{ {
return(NtUserGetCapture()); return (HWND)NtUserGetThreadState(THREADSTATE_CAPTUREWINDOW);
} }
/* /*
@ -2171,7 +2171,7 @@ RealGetQueueStatus(UINT flags)
USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 ); USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
#endif #endif
ret = NtUserGetQueueStatus(TRUE /*ClearChanges*/); ret = NtUserCallOneParam(TRUE, ONEPARAM_ROUTINE_GETQUEUESTATUS);
changed_bits = LOWORD(ret); changed_bits = LOWORD(ret);
wake_bits = HIWORD(ret); wake_bits = HIWORD(ret);
@ -2195,7 +2195,7 @@ BOOL STDCALL GetInputState(VOID)
USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 ); USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
#endif #endif
ret = NtUserGetQueueStatus(FALSE /*ClearChanges*/); ret = NtUserCallOneParam(FALSE, ONEPARAM_ROUTINE_GETQUEUESTATUS);
wake_bits = HIWORD(ret); wake_bits = HIWORD(ret);

View file

@ -919,7 +919,8 @@ GetGUIThreadInfo(DWORD idThread,
HWND STDCALL HWND STDCALL
GetLastActivePopup(HWND hWnd) GetLastActivePopup(HWND hWnd)
{ {
return NtUserGetLastActivePopup(hWnd); UNIMPLEMENTED;
return 0;
} }
@ -1987,3 +1988,6 @@ DisableProcessWindowsGhosting(VOID)
/* EOF */ /* EOF */

View file

@ -99,7 +99,7 @@ WinPosGetMinMaxInfo(HWND hWnd, POINT* MaxSize, POINT* MaxPos,
HWND STDCALL HWND STDCALL
GetActiveWindow(VOID) GetActiveWindow(VOID)
{ {
return(NtUserGetActiveWindow()); return (HWND)NtUserGetThreadState(THREADSTATE_ACTIVEWINDOW);
} }
/* /*

View file

@ -1424,11 +1424,18 @@ NtUserGetThreadDesktop(
DWORD dwThreadId, DWORD dwThreadId,
DWORD Unknown1); DWORD Unknown1);
#define THREADSTATE_GETTHREADINFO (0)
#define THREADSTATE_FOCUSWINDOW (1) enum ThreadStateRoutines
#define THREADSTATE_INSENDMESSAGE (2) {
#define THREADSTATE_PROGMANWINDOW (3) THREADSTATE_GETTHREADINFO,
#define THREADSTATE_TASKMANWINDOW (4) THREADSTATE_INSENDMESSAGE,
THREADSTATE_FOCUSWINDOW,
THREADSTATE_ACTIVEWINDOW,
THREADSTATE_CAPTUREWINDOW,
THREADSTATE_PROGMANWINDOW,
THREADSTATE_TASKMANWINDOW
};
DWORD DWORD
NTAPI NTAPI
NtUserGetThreadState( NtUserGetThreadState(
@ -1773,10 +1780,6 @@ NtUserRealInternalGetMessage(
DWORD dwUnknown5, DWORD dwUnknown5,
DWORD dwUnknown6); DWORD dwUnknown6);
UINT
NTAPI
NtUserRealizePalette(HDC hDC);
DWORD DWORD
NTAPI NTAPI
NtUserRealChildWindowFromPoint( NtUserRealChildWindowFromPoint(
@ -1831,11 +1834,6 @@ NtUserRegisterHotKey(HWND hWnd,
UINT fsModifiers, UINT fsModifiers,
UINT vk); UINT vk);
BOOL
NTAPI
NtUserGetLastInputInfo(
PLASTINPUTINFO plii);
DWORD DWORD
NTAPI NTAPI
NtUserRegisterTasklist( NtUserRegisterTasklist(
@ -2475,7 +2473,6 @@ typedef struct tagKMDDELPARAM
* ReactOS-specific NtUser calls and their related structures, both which shouldn't exist. * ReactOS-specific NtUser calls and their related structures, both which shouldn't exist.
*/ */
#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001
#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005 #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
#define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006
#define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007
@ -2533,30 +2530,6 @@ NtUserCreateCursorIconHandle(
BOOL Indirect); BOOL Indirect);
typedef struct _WNDPROC_INFO
{
WNDPROC WindowProc;
BOOL IsUnicode;
} WNDPROC_INFO, *PWNDPROC_INFO;
BOOL
NTAPI
NtUserDereferenceWndProcHandle(IN HANDLE wpHandle, OUT PWNDPROC_INFO wpInfo);
/* Use ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS */
UINT
NTAPI
NtUserEnumClipboardFormats(
UINT format);
HWND
NTAPI
NtUserGetActiveWindow(VOID);
HWND
NTAPI
NtUserGetCapture(VOID);
/* Should be done in usermode */ /* Should be done in usermode */
ULONG_PTR ULONG_PTR
NTAPI NTAPI
@ -2579,10 +2552,6 @@ NtUserGetMenuDefaultItem(
UINT fByPos, UINT fByPos,
UINT gmdiFlags); UINT gmdiFlags);
HWND
NTAPI
NtUserGetLastActivePopup(HWND hWnd);
BOOL BOOL
NTAPI NTAPI
NtUserGetLastInputInfo( NtUserGetLastInputInfo(
@ -2606,10 +2575,6 @@ HANDLE
NTAPI NTAPI
NtUserGetProp(HWND hWnd, ATOM Atom); NtUserGetProp(HWND hWnd, ATOM Atom);
DWORD
NTAPI
NtUserGetQueueStatus(BOOL ClearChanges);
BOOL BOOL
NTAPI NTAPI
NtUserGetScrollInfo( NtUserGetScrollInfo(
@ -2643,17 +2608,7 @@ DWORD
NTAPI NTAPI
NtUserGetWindowThreadProcessId(HWND hWnd, LPDWORD UnsafePid); NtUserGetWindowThreadProcessId(HWND hWnd, LPDWORD UnsafePid);
DWORD
NTAPI
NtUserInsertMenuItem(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPCMENUITEMINFOW lpmii);
BOOL
NTAPI
NtUserKillSystemTimer(HWND hWnd, UINT_PTR uIDEvent);
VOID VOID
NTAPI NTAPI
@ -2762,11 +2717,6 @@ NtUserRegisterClassEx(
HMENU hMenu); HMENU hMenu);
UINT
NTAPI
NtUserRegisterClipboardFormat(
PUNICODE_STRING format);
typedef struct tagNTUSERSENDMESSAGEINFO typedef struct tagNTUSERSENDMESSAGEINFO
{ {

View file

@ -4,6 +4,12 @@
#define IS_ATOM(x) \ #define IS_ATOM(x) \
(((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000)) (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
typedef struct _WNDPROC_INFO
{
WNDPROC WindowProc;
BOOL IsUnicode;
} WNDPROC_INFO, *PWNDPROC_INFO;
static BOOL __inline static BOOL __inline
IsCallProcHandle(IN WNDPROC lpWndProc) IsCallProcHandle(IN WNDPROC lpWndProc)
{ {

View file

@ -43,6 +43,8 @@ typedef struct _CLIPBOARDSYSTEM
VOID FASTCALL VOID FASTCALL
IntClipboardFreeWindow(PWINDOW_OBJECT window); IntClipboardFreeWindow(PWINDOW_OBJECT window);
UINT STDCALL IntEnumClipboardFormats(UINT format);
/* /*
UINT FASTCALL UINT FASTCALL
IntEnumClipboardFormats(UINT format); IntEnumClipboardFormats(UINT format);

View file

@ -14,6 +14,8 @@ IntGetFocusWindow();
*/ */
HWND FASTCALL HWND FASTCALL
IntGetThreadFocusWindow(); IntGetThreadFocusWindow();
HWND STDCALL IntGetCapture();
HWND FASTCALL UserGetActiveWindow();
BOOL FASTCALL BOOL FASTCALL
co_IntMouseActivateWindow(PWINDOW_OBJECT Window); co_IntMouseActivateWindow(PWINDOW_OBJECT Window);

View file

@ -98,6 +98,8 @@ IntCheckMenuItem(PMENU_OBJECT MenuObject, UINT uIDCheckItem, UINT uCheck);
BOOL FASTCALL BOOL FASTCALL
IntSetMenuItemRect(PMENU_OBJECT MenuObject, UINT Item, BOOL fByPos, RECT *rcRect); IntSetMenuItemRect(PMENU_OBJECT MenuObject, UINT Item, BOOL fByPos, RECT *rcRect);
DWORD STDCALL UserInsertMenuItem(HMENU hMenu, UINT uItem, BOOL fByPosition, LPCMENUITEMINFOW lpmii);
BOOL FASTCALL BOOL FASTCALL
IntCleanupMenus(struct _EPROCESS *Process, PW32PROCESS Win32Process); IntCleanupMenus(struct _EPROCESS *Process, PW32PROCESS Win32Process);

View file

@ -7,5 +7,6 @@
#define W32PF_CREATEDWINORDC (0x0004) #define W32PF_CREATEDWINORDC (0x0004)
ULONG FASTCALL IntSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); ULONG FASTCALL IntSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
DWORD STDCALL IntGetQueueStatus(BOOL ClearChanges);
#endif /* __WIN32K_MISC_H */ #endif /* __WIN32K_MISC_H */

View file

@ -130,31 +130,3 @@ UserGetCallProcInfo(IN HANDLE hCallProc,
return TRUE; return TRUE;
} }
BOOL NTAPI
NtUserDereferenceWndProcHandle(IN HANDLE wpHandle,
OUT PWNDPROC_INFO wpInfo)
{
BOOL Ret = FALSE;
UserEnterShared();
_SEH_TRY
{
ProbeForWrite(wpInfo,
sizeof(WNDPROC_INFO),
sizeof(ULONG));
Ret = UserGetCallProcInfo(wpHandle,
wpInfo);
}
_SEH_HANDLE
{
SetLastWin32Error(_SEH_GetExceptionCode());
}
_SEH_END;
UserLeave();
return Ret;
}

View file

@ -746,48 +746,6 @@ NtUserGetClipboardFormatName(UINT format, PUNICODE_STRING FormatName,
return ret; return ret;
} }
UINT STDCALL
NtUserRegisterClipboardFormat(PUNICODE_STRING FormatName)
{
UINT ret = 0;
UNICODE_STRING cFormatName = {0};
if (FormatName == NULL)
{
SetLastWin32Error(ERROR_INVALID_PARAMETER);
return ret;
}
UserEnterExclusive();
_SEH_TRY
{
cFormatName = ProbeForReadUnicodeString(FormatName);
if (cFormatName.Length > 0)
{
ret = (UINT)IntAddAtom(cFormatName.Buffer);
//RtlFreeUnicodeString(&cFormatName);
}
else
{
SetLastWin32Error(ERROR_INVALID_NAME);
_SEH_LEAVE;
}
}
_SEH_HANDLE
{
SetLastNtError(_SEH_GetExceptionCode());
}
_SEH_END;
UserLeave();
return ret;
}
HWND STDCALL HWND STDCALL
NtUserGetClipboardOwner(VOID) NtUserGetClipboardOwner(VOID)
{ {
@ -1107,12 +1065,10 @@ NtUserSetClipboardViewer(HWND hWndNewViewer)
} }
UINT STDCALL UINT STDCALL
NtUserEnumClipboardFormats(UINT uFormat) IntEnumClipboardFormats(UINT uFormat)
{ {
UINT ret = 0; UINT ret = 0;
UserEnterShared();
if (intIsClipboardOpenByMe()) if (intIsClipboardOpenByMe())
{ {
if (uFormat == 0) if (uFormat == 0)
@ -1162,8 +1118,6 @@ NtUserEnumClipboardFormats(UINT uFormat)
SetLastWin32Error(ERROR_CLIPBOARD_NOT_OPEN); SetLastWin32Error(ERROR_CLIPBOARD_NOT_OPEN);
} }
UserLeave();
return ret; return ret;
} }

View file

@ -386,25 +386,6 @@ HWND FASTCALL UserGetActiveWindow()
} }
/*
* @implemented
*/
HWND STDCALL
NtUserGetActiveWindow(VOID)
{
DECLARE_RETURN(HWND);
DPRINT("Enter NtUserGetActiveWindow\n");
UserEnterShared();
RETURN( UserGetActiveWindow());
CLEANUP:
DPRINT("Leave NtUserGetActiveWindow, ret=%i\n",_ret_);
UserLeave();
END_CLEANUP;
}
HWND STDCALL HWND STDCALL
NtUserSetActiveWindow(HWND hWnd) NtUserSetActiveWindow(HWND hWnd)
{ {
@ -454,20 +435,18 @@ CLEANUP:
* @implemented * @implemented
*/ */
HWND STDCALL HWND STDCALL
NtUserGetCapture(VOID) IntGetCapture(VOID)
{ {
PUSER_MESSAGE_QUEUE ThreadQueue; PUSER_MESSAGE_QUEUE ThreadQueue;
DECLARE_RETURN(HWND); DECLARE_RETURN(HWND);
DPRINT("Enter NtUserGetCapture\n"); DPRINT("Enter IntGetCapture\n");
UserEnterShared();
ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetCurrentThreadWin32Thread()->MessageQueue; ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetCurrentThreadWin32Thread()->MessageQueue;
RETURN( ThreadQueue ? ThreadQueue->CaptureWindow : 0); RETURN( ThreadQueue ? ThreadQueue->CaptureWindow : 0);
CLEANUP: CLEANUP:
DPRINT("Leave NtUserGetCapture, ret=%i\n",_ret_); DPRINT("Leave IntGetCapture, ret=%i\n",_ret_);
UserLeave();
END_CLEANUP; END_CLEANUP;
} }

View file

@ -1613,7 +1613,7 @@ CLEANUP:
* @implemented * @implemented
*/ */
DWORD STDCALL DWORD STDCALL
NtUserInsertMenuItem( UserInsertMenuItem(
HMENU hMenu, HMENU hMenu,
UINT uItem, UINT uItem,
BOOL fByPosition, BOOL fByPosition,
@ -1624,7 +1624,7 @@ NtUserInsertMenuItem(
ROSMENUITEMINFO ItemInfo; ROSMENUITEMINFO ItemInfo;
DECLARE_RETURN(DWORD); DECLARE_RETURN(DWORD);
DPRINT("Enter NtUserInsertMenuItem\n"); DPRINT("Enter UserInsertMenuItem\n");
UserEnterExclusive(); UserEnterExclusive();
if(!(Menu = UserGetMenuObject(hMenu))) if(!(Menu = UserGetMenuObject(hMenu)))
@ -1662,7 +1662,7 @@ NtUserInsertMenuItem(
RETURN( FALSE); RETURN( FALSE);
CLEANUP: CLEANUP:
DPRINT("Leave NtUserInsertMenuItem, ret=%i\n",_ret_); DPRINT("Leave UserInsertMenuItem, ret=%i\n",_ret_);
UserLeave(); UserLeave();
END_CLEANUP; END_CLEANUP;
} }
@ -2444,10 +2444,13 @@ NtUserThunkedMenuItemInfo(
LPMENUITEMINFOW lpmii, LPMENUITEMINFOW lpmii,
PUNICODE_STRING lpszCaption) PUNICODE_STRING lpszCaption)
{ {
UNIMPLEMENTED
/* lpszCaption may be NULL, check for it and call RtlInitUnicodeString() /* lpszCaption may be NULL, check for it and call RtlInitUnicodeString()
if bInsert == TRUE call NtUserInsertMenuItem() else NtUserSetMenuItemInfo() if bInsert == TRUE call NtUserInsertMenuItem() else NtUserSetMenuItemInfo() */
*/
if (bInsert) return UserInsertMenuItem(hMenu, uItem, fByPosition, lpmii);
UNIMPLEMENTED
return 0; return 0;
} }

View file

@ -1797,14 +1797,13 @@ CLEANUP:
} }
DWORD STDCALL DWORD STDCALL
NtUserGetQueueStatus(BOOL ClearChanges) IntGetQueueStatus(BOOL ClearChanges)
{ {
PUSER_MESSAGE_QUEUE Queue; PUSER_MESSAGE_QUEUE Queue;
DWORD Result; DWORD Result;
DECLARE_RETURN(DWORD); DECLARE_RETURN(DWORD);
DPRINT("Enter NtUserGetQueueStatus\n"); DPRINT("Enter IntGetQueueStatus\n");
UserEnterExclusive();
Queue = PsGetCurrentThreadWin32Thread()->MessageQueue; Queue = PsGetCurrentThreadWin32Thread()->MessageQueue;
@ -1817,8 +1816,7 @@ NtUserGetQueueStatus(BOOL ClearChanges)
RETURN(Result); RETURN(Result);
CLEANUP: CLEANUP:
DPRINT("Leave NtUserGetQueueStatus, ret=%i\n",_ret_); DPRINT("Leave IntGetQueueStatus, ret=%i\n",_ret_);
UserLeave();
END_CLEANUP; END_CLEANUP;
} }

View file

@ -41,10 +41,15 @@ NtUserGetThreadState(
case THREADSTATE_FOCUSWINDOW: case THREADSTATE_FOCUSWINDOW:
RETURN( (DWORD)IntGetThreadFocusWindow()); RETURN( (DWORD)IntGetThreadFocusWindow());
case THREADSTATE_CAPTUREWINDOW:
/* FIXME should use UserEnterShared */
RETURN( (DWORD)IntGetCapture());
case THREADSTATE_PROGMANWINDOW: case THREADSTATE_PROGMANWINDOW:
RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hProgmanWindow); RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hProgmanWindow);
case THREADSTATE_TASKMANWINDOW: case THREADSTATE_TASKMANWINDOW:
RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hTaskManWindow); RETURN( (DWORD)GetW32ThreadInfo()->Desktop->hTaskManWindow);
case THREADSTATE_ACTIVEWINDOW:
RETURN ( (DWORD)UserGetActiveWindow());
} }
RETURN( 0); RETURN( 0);

View file

@ -245,10 +245,7 @@ NtUserCallOneParam(
case ONEPARAM_ROUTINE_SETCARETBLINKTIME: case ONEPARAM_ROUTINE_SETCARETBLINKTIME:
RETURN( (DWORD)IntSetCaretBlinkTime((UINT)Param)); RETURN( (DWORD)IntSetCaretBlinkTime((UINT)Param));
/*
case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS:
RETURN( (DWORD)NtUserEnumClipboardFormats((UINT)Param));
*/
case ONEPARAM_ROUTINE_GETWINDOWINSTANCE: case ONEPARAM_ROUTINE_GETWINDOWINSTANCE:
{ {
PWINDOW_OBJECT Window; PWINDOW_OBJECT Window;
@ -391,6 +388,13 @@ NtUserCallOneParam(
case ONEPARAM_ROUTINE_REALIZEPALETTE: case ONEPARAM_ROUTINE_REALIZEPALETTE:
RETURN (UserRealizePalette((HDC) Param)); RETURN (UserRealizePalette((HDC) Param));
case ONEPARAM_ROUTINE_GETQUEUESTATUS:
RETURN (IntGetQueueStatus((BOOL) Param));
case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS:
/* FIXME: Should use UserEnterShared */
RETURN(IntEnumClipboardFormats(Param));
} }
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n", DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n",
Routine, Param); Routine, Param);
@ -870,6 +874,13 @@ NtUserCallHwndParam(
DWORD Param, DWORD Param,
DWORD Routine) DWORD Routine)
{ {
switch (Routine)
{
case HWNDPARAM_ROUTINE_KILLSYSTEMTIMER:
return IntKillTimer(hWnd, (UINT_PTR)Param, TRUE);
}
UNIMPLEMENTED; UNIMPLEMENTED;
return 0; return 0;

View file

@ -268,24 +268,4 @@ CLEANUP:
} }
BOOL
STDCALL
NtUserKillSystemTimer(
HWND hWnd,
UINT_PTR uIDEvent
)
{
DECLARE_RETURN(BOOL);
DPRINT("Enter NtUserKillSystemTimer\n");
UserEnterExclusive();
RETURN(IntKillTimer(hWnd, uIDEvent, TRUE));
CLEANUP:
DPRINT("Leave NtUserKillSystemTimer, ret=%i\n", _ret_);
UserLeave();
END_CLEANUP;
}
/* EOF */ /* EOF */

View file

@ -2979,37 +2979,6 @@ NtUserGetInternalWindowPos(DWORD Unknown0,
return 0; return 0;
} }
/*
* @unimplemented
*/
HWND STDCALL
NtUserGetLastActivePopup(HWND hWnd)
{
/*
* This code can't work, because hWndLastPopup member of WINDOW_OBJECT is
* not changed anywhere.
* -- Filip, 01/nov/2003
*/
#if 0
PWINDOW_OBJECT Wnd;
HWND hWndLastPopup;
if (!(Wnd = UserGetWindowObject(hWnd)))
{
return NULL;
}
hWndLastPopup = Wnd->hWndLastPopup;
return hWndLastPopup;
#else
return NULL;
#endif
}
DWORD DWORD
STDCALL STDCALL
NtUserGetListBoxInfo( NtUserGetListBoxInfo(

View file

@ -681,20 +681,14 @@ NtGdiSetWindowExtEx 4
NtGdiSetWindowOrgEx 4 NtGdiSetWindowOrgEx 4
NtUserBuildMenuItemList 4 NtUserBuildMenuItemList 4
NtUserCreateCursorIconHandle 2 NtUserCreateCursorIconHandle 2
NtUserDereferenceWndProcHandle 2
NtUserEnumClipboardFormats 1
NtUserGetActiveWindow 0
NtUserGetCapture 0
NtUserGetClassLong 3 NtUserGetClassLong 3
NtUserGetClientOrigin 2 NtUserGetClientOrigin 2
NtUserGetClientRect 2 NtUserGetClientRect 2
NtUserGetMenuDefaultItem 3 NtUserGetMenuDefaultItem 3
NtUserGetLastActivePopup 1
NtUserGetLastInputInfo 1 NtUserGetLastInputInfo 1
NtUserGetMinMaxInfo 3 NtUserGetMinMaxInfo 3
NtUserGetMonitorInfo 2 NtUserGetMonitorInfo 2
NtUserGetProp 2 NtUserGetProp 2
NtUserGetQueueStatus 1
NtUserGetScrollInfo 3 NtUserGetScrollInfo 3
NtUserGetShellWindow 0 NtUserGetShellWindow 0
NtUserGetSystemMetrics 1 NtUserGetSystemMetrics 1
@ -702,8 +696,6 @@ NtUserGetWindow 2
NtUserGetWindowLong 3 NtUserGetWindowLong 3
NtUserGetWindowRect 2 NtUserGetWindowRect 2
NtUserGetWindowThreadProcessId 2 NtUserGetWindowThreadProcessId 2
NtUserInsertMenuItem 4
NtUserKillSystemTimer 2
NtUserManualGuiCheck 1 NtUserManualGuiCheck 1
NtUserMenuInfo 3 NtUserMenuInfo 3
NtUserMenuItemInfo 5 NtUserMenuItemInfo 5
@ -711,7 +703,6 @@ NtUserMonitorFromPoint 3
NtUserMonitorFromRect 2 NtUserMonitorFromRect 2
NtUserMonitorFromWindow 2 NtUserMonitorFromWindow 2
NtUserRegisterClassEx 6 NtUserRegisterClassEx 6
NtUserRegisterClipboardFormat 1
NtUserSendMessage 5 NtUserSendMessage 5
NtUserSendMessageTimeout 8 NtUserSendMessageTimeout 8
NtUserSendNotifyMessage 4 NtUserSendNotifyMessage 4