diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index 2bb7011cf69..2bf3702ddcd 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1136,20 +1136,15 @@ static struct unix_funcs unix_funcs = NtGdiUnrealizeObject, NtGdiUpdateColors, NtGdiWidenPath, - NtUserDestroyMenu, NtUserDrawCaptionTemp, NtUserDrawMenuBarTemp, - NtUserEnableMenuItem, NtUserEnableScrollBar, NtUserEndPaint, NtUserExcludeUpdateRgn, NtUserFlashWindowEx, NtUserGetClassInfoEx, - NtUserGetMenuBarInfo, NtUserGetScrollBarInfo, - NtUserGetSystemMenu, NtUserGetWindowPlacement, - NtUserHiliteMenuItem, NtUserInternalGetWindowIcon, NtUserRegisterClassExWOW, NtUserReleaseDC, @@ -1159,10 +1154,8 @@ static struct unix_funcs unix_funcs = NtUserSetClassLongPtr, NtUserSetClassWord, NtUserSetLayeredWindowAttributes, - NtUserSetMenu, NtUserSetParent, NtUserSetScrollInfo, - NtUserSetSystemMenu, NtUserSetWindowLong, NtUserSetWindowLongPtr, NtUserSetWindowPlacement, @@ -1173,7 +1166,6 @@ static struct unix_funcs unix_funcs = NtUserShowWindowAsync, NtUserSystemParametersInfo, NtUserSystemParametersInfoForDpi, - NtUserTranslateAccelerator, NtUserUnregisterClass, NtUserUpdateLayeredWindow, NtUserWindowFromPoint, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index 7c95d7d4848..4963657e8ba 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -134,12 +134,14 @@ static void * const syscalls[] = NtUserDestroyAcceleratorTable, NtUserDestroyCursor, NtUserDestroyInputContext, + NtUserDestroyMenu, NtUserDestroyWindow, NtUserDisableThreadIme, NtUserDispatchMessage, NtUserDragDetect, NtUserDrawIconEx, NtUserEmptyClipboard, + NtUserEnableMenuItem, NtUserEndDeferWindowPosEx, NtUserEndMenu, NtUserEnumDisplayDevices, @@ -176,6 +178,7 @@ static void * const syscalls[] = NtUserGetKeyboardLayoutName, NtUserGetKeyboardState, NtUserGetLayeredWindowAttributes, + NtUserGetMenuBarInfo, NtUserGetMenuItemRect, NtUserGetMessage, NtUserGetMouseMovePointsEx, @@ -192,6 +195,7 @@ static void * const syscalls[] = NtUserGetRawInputDeviceList, NtUserGetRegisteredRawInputDevices, NtUserGetSystemDpiForProcess, + NtUserGetSystemMenu, NtUserGetThreadDesktop, NtUserGetTitleBarInfo, NtUserGetUpdateRect, @@ -199,6 +203,7 @@ static void * const syscalls[] = NtUserGetUpdatedClipboardFormats, NtUserGetWindowRgnEx, NtUserHideCaret, + NtUserHiliteMenuItem, NtUserInitializeClientPfnArrays, NtUserInternalGetWindowText, NtUserInvalidateRect, @@ -238,6 +243,7 @@ static void * const syscalls[] = NtUserSetFocus, NtUserSetInternalWindowPos, NtUserSetKeyboardState, + NtUserSetMenu, NtUserSetMenuContextHelpId, NtUserSetMenuDefaultItem, NtUserSetObjectInformation, @@ -245,6 +251,7 @@ static void * const syscalls[] = NtUserSetProcessWindowStation, NtUserSetProp, NtUserSetSysColors, + NtUserSetSystemMenu, NtUserSetSystemTimer, NtUserSetThreadDesktop, NtUserSetTimer, @@ -258,6 +265,7 @@ static void * const syscalls[] = NtUserToUnicodeEx, NtUserTrackMouseEvent, NtUserTrackPopupMenuEx, + NtUserTranslateAccelerator, NtUserTranslateMessage, NtUserUnhookWinEvent, NtUserUnhookWindowsHookEx, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 1c91fef03da..9c067b0d4ac 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -832,7 +832,7 @@ @ stdcall -syscall NtUserDestroyCursor(long long) @ stub NtUserDestroyDCompositionHwndTarget @ stdcall -syscall NtUserDestroyInputContext(long) -@ stdcall NtUserDestroyMenu(long) +@ stdcall -syscall NtUserDestroyMenu(long) @ stub NtUserDestroyPalmRejectionDelayZone @ stdcall -syscall NtUserDestroyWindow(long) @ stub NtUserDisableImmersiveOwner @@ -860,7 +860,7 @@ @ stdcall -syscall NtUserEmptyClipboard() @ stub NtUserEnableChildWindowDpiMessage @ stub NtUserEnableIAMAccess -@ stdcall NtUserEnableMenuItem(long long long) +@ stdcall -syscall NtUserEnableMenuItem(long long long) @ stub NtUserEnableMouseInPointer @ stub NtUserEnableMouseInPointerForWindow @ stub NtUserEnableMouseInputForCursorSuppression @@ -952,7 +952,7 @@ @ stdcall -syscall NtUserGetKeyboardState(ptr) @ stdcall -syscall NtUserGetLayeredWindowAttributes(long ptr ptr ptr) @ stub NtUserGetListBoxInfo -@ stdcall NtUserGetMenuBarInfo(long long long ptr) +@ stdcall -syscall NtUserGetMenuBarInfo(long long long ptr) @ stub NtUserGetMenuIndex @ stdcall -syscall NtUserGetMenuItemRect(long long long ptr) @ stdcall -syscall NtUserGetMessage(ptr long long long) @@ -994,7 +994,7 @@ @ stdcall NtUserGetScrollBarInfo(long long ptr) @ stub NtUserGetSharedWindowData @ stdcall -syscall NtUserGetSystemDpiForProcess(long) -@ stdcall NtUserGetSystemMenu(long long) +@ stdcall -syscall NtUserGetSystemMenu(long long) @ stdcall -syscall NtUserGetThreadDesktop(long) @ stub NtUserGetThreadState @ stdcall -syscall NtUserGetTitleBarInfo(long ptr) @@ -1022,7 +1022,7 @@ @ stub NtUserHardErrorControl @ stdcall -syscall NtUserHideCaret(long) @ stub NtUserHidePointerContactVisualization -@ stdcall NtUserHiliteMenuItem(long long long long) +@ stdcall -syscall NtUserHiliteMenuItem(long long long long) @ stub NtUserHungWindowFromGhostWindow @ stub NtUserHwndQueryRedirectionInfo @ stub NtUserHwndSetRedirectionInfo @@ -1206,7 +1206,7 @@ @ stdcall NtUserSetLayeredWindowAttributes(ptr long long long) @ stub NtUserSetMagnificationDesktopMagnifierOffsetsDWMUpdated @ stub NtUserSetManipulationInputTarget -@ stdcall NtUserSetMenu(long long) +@ stdcall -syscall NtUserSetMenu(long long) @ stdcall -syscall NtUserSetMenuContextHelpId(long long) @ stdcall -syscall NtUserSetMenuDefaultItem(long long long) @ stub NtUserSetMenuFlagRtoL @@ -1229,7 +1229,7 @@ @ stub NtUserSetShellWindowEx @ stdcall -syscall NtUserSetSysColors(long ptr ptr) @ stub NtUserSetSystemCursor -@ stdcall NtUserSetSystemMenu(long long) +@ stdcall -syscall NtUserSetSystemMenu(long long) @ stdcall -syscall NtUserSetSystemTimer(long long long) @ stub NtUserSetTargetForResourceBrokering @ stdcall -syscall NtUserSetThreadDesktop(long) @@ -1281,7 +1281,7 @@ @ stdcall -syscall NtUserTrackPopupMenuEx(long long long long long ptr) @ stub NtUserTransformPoint @ stub NtUserTransformRect -@ stdcall NtUserTranslateAccelerator(long long ptr) +@ stdcall -syscall NtUserTranslateAccelerator(long long ptr) @ stdcall -syscall NtUserTranslateMessage(ptr long) @ stub NtUserUndelegateInput @ stdcall -syscall NtUserUnhookWinEvent(long) diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index a4d7d5e940f..a7128648e51 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -186,22 +186,17 @@ struct unix_funcs BOOL (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj ); BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc ); BOOL (WINAPI *pNtGdiWidenPath)( HDC hdc ); - BOOL (WINAPI *pNtUserDestroyMenu)( HMENU handle ); BOOL (WINAPI *pNtUserDrawCaptionTemp)( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ); DWORD (WINAPI *pNtUserDrawMenuBarTemp)( HWND hwnd, HDC hdc, RECT *rect, HMENU handle, HFONT font ); - BOOL (WINAPI *pNtUserEnableMenuItem)( HMENU handle, UINT id, UINT flags ); BOOL (WINAPI *pNtUserEnableScrollBar)( HWND hwnd, UINT bar, UINT flags ); BOOL (WINAPI *pNtUserEndPaint)( HWND hwnd, const PAINTSTRUCT *ps ); INT (WINAPI *pNtUserExcludeUpdateRgn)( HDC hdc, HWND hwnd ); BOOL (WINAPI *pNtUserFlashWindowEx)( FLASHWINFO *info ); ATOM (WINAPI *pNtUserGetClassInfoEx)( HINSTANCE instance, UNICODE_STRING *name, WNDCLASSEXW *wc, struct client_menu_name *menu_name, BOOL ansi ); - BOOL (WINAPI *pNtUserGetMenuBarInfo)( HWND hwnd, LONG id, LONG item, MENUBARINFO *info ); BOOL (WINAPI *pNtUserGetScrollBarInfo)( HWND hwnd, LONG id, SCROLLBARINFO *info ); - HMENU (WINAPI *pNtUserGetSystemMenu)( HWND hwnd, BOOL revert ); BOOL (WINAPI *pNtUserGetWindowPlacement)( HWND hwnd, WINDOWPLACEMENT *placement ); - BOOL (WINAPI *pNtUserHiliteMenuItem)( HWND hwnd, HMENU handle, UINT item, UINT hilite ); HICON (WINAPI *pNtUserInternalGetWindowIcon)( HWND hwnd, UINT type ); ATOM (WINAPI *pNtUserRegisterClassExWOW)( const WNDCLASSEXW *wc, UNICODE_STRING *name, UNICODE_STRING *version, @@ -215,10 +210,8 @@ struct unix_funcs ULONG_PTR (WINAPI *pNtUserSetClassLongPtr)( HWND hwnd, INT offset, LONG_PTR newval, BOOL ansi ); WORD (WINAPI *pNtUserSetClassWord)( HWND hwnd, INT offset, WORD newval ); BOOL (WINAPI *pNtUserSetLayeredWindowAttributes)( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags ); - BOOL (WINAPI *pNtUserSetMenu)( HWND hwnd, HMENU menu ); HWND (WINAPI *pNtUserSetParent)( HWND hwnd, HWND parent ); INT (WINAPI *pNtUserSetScrollInfo)( HWND hwnd, INT bar, const SCROLLINFO *info, BOOL redraw ); - BOOL (WINAPI *pNtUserSetSystemMenu)( HWND hwnd, HMENU menu ); LONG (WINAPI *pNtUserSetWindowLong)( HWND hwnd, INT offset, LONG newval, BOOL ansi ); LONG_PTR (WINAPI *pNtUserSetWindowLongPtr)( HWND hwnd, INT offset, LONG_PTR newval, BOOL ansi ); BOOL (WINAPI *pNtUserSetWindowPlacement)( HWND hwnd, const WINDOWPLACEMENT *wpl ); @@ -230,7 +223,6 @@ struct unix_funcs BOOL (WINAPI *pNtUserSystemParametersInfo)( UINT action, UINT val, PVOID ptr, UINT winini ); BOOL (WINAPI *pNtUserSystemParametersInfoForDpi)( UINT action, UINT val, PVOID ptr, UINT winini, UINT dpi ); - INT (WINAPI *pNtUserTranslateAccelerator)( HWND hwnd, HACCEL accel, MSG *msg ); BOOL (WINAPI *pNtUserUnregisterClass)( UNICODE_STRING *name, HINSTANCE instance, struct client_menu_name *client_menu_name ); BOOL (WINAPI *pNtUserUpdateLayeredWindow)( HWND hwnd, HDC hdc_dst, const POINT *pts_dst, diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index 97acdda8982..b07c40a01ee 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -725,12 +725,6 @@ NTSTATUS WINAPI NtGdiDdDDISetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER return unix_funcs->pNtGdiDdDDISetVidPnSourceOwner( desc ); } -BOOL WINAPI NtUserDestroyMenu( HMENU handle ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserDestroyMenu( handle ); -} - BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ) { @@ -744,12 +738,6 @@ DWORD WINAPI NtUserDrawMenuBarTemp( HWND hwnd, HDC hdc, RECT *rect, HMENU handle return unix_funcs->pNtUserDrawMenuBarTemp( hwnd, hdc, rect, handle, font ); } -BOOL WINAPI NtUserEnableMenuItem( HMENU handle, UINT id, UINT flags ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserEnableMenuItem( handle, id, flags ); -} - BOOL WINAPI NtUserEnableScrollBar( HWND hwnd, UINT bar, UINT flags ) { if (!unix_funcs) return FALSE; @@ -775,24 +763,6 @@ ATOM WINAPI NtUserGetClassInfoEx( HINSTANCE instance, UNICODE_STRING *name, WNDC return unix_funcs->pNtUserGetClassInfoEx( instance, name, wc, menu_name, ansi ); } -BOOL WINAPI NtUserGetMenuBarInfo( HWND hwnd, LONG id, LONG item, MENUBARINFO *info ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserGetMenuBarInfo( hwnd, id, item, info ); -} - -HMENU WINAPI NtUserGetSystemMenu( HWND hwnd, BOOL revert ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserGetSystemMenu( hwnd, revert ); -} - -BOOL WINAPI NtUserHiliteMenuItem( HWND hwnd, HMENU handle, UINT item, UINT hilite ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserHiliteMenuItem( hwnd, handle, item, hilite ); -} - BOOL WINAPI NtUserGetScrollBarInfo( HWND hwnd, LONG id, SCROLLBARINFO *info ) { if (!unix_funcs) return FALSE; @@ -862,12 +832,6 @@ BOOL WINAPI NtUserSetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph return unix_funcs->pNtUserSetLayeredWindowAttributes( hwnd, key, alpha, flags ); } -BOOL WINAPI NtUserSetMenu( HWND hwnd, HMENU menu ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserSetMenu( hwnd, menu ); -} - HWND WINAPI NtUserSetParent( HWND hwnd, HWND parent ) { if (!unix_funcs) return 0; @@ -880,12 +844,6 @@ INT WINAPI NtUserSetScrollInfo( HWND hwnd, INT bar, const SCROLLINFO *info, BOOL return unix_funcs->pNtUserSetScrollInfo( hwnd, bar, info, redraw ); } -BOOL WINAPI NtUserSetSystemMenu( HWND hwnd, HMENU menu ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserSetSystemMenu( hwnd, menu ); -} - LONG WINAPI NtUserSetWindowLong( HWND hwnd, INT offset, LONG newval, BOOL ansi ) { if (!unix_funcs) return 0; @@ -946,12 +904,6 @@ BOOL WINAPI NtUserSystemParametersInfoForDpi( UINT action, UINT val, PVOID ptr, return unix_funcs->pNtUserSystemParametersInfoForDpi( action, val, ptr, winini, dpi ); } -INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg ) -{ - if (!unix_funcs) return 0; - return unix_funcs->pNtUserTranslateAccelerator( hwnd, accel, msg ); -} - BOOL WINAPI NtUserUnregisterClass( UNICODE_STRING *name, HINSTANCE instance, struct client_menu_name *client_menu_name ) { diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 9b2e1f020f8..cd1823edc76 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -121,12 +121,14 @@ SYSCALL_ENTRY( NtUserDestroyAcceleratorTable ) \ SYSCALL_ENTRY( NtUserDestroyCursor ) \ SYSCALL_ENTRY( NtUserDestroyInputContext ) \ + SYSCALL_ENTRY( NtUserDestroyMenu ) \ SYSCALL_ENTRY( NtUserDestroyWindow ) \ SYSCALL_ENTRY( NtUserDisableThreadIme ) \ SYSCALL_ENTRY( NtUserDispatchMessage ) \ SYSCALL_ENTRY( NtUserDragDetect ) \ SYSCALL_ENTRY( NtUserDrawIconEx ) \ SYSCALL_ENTRY( NtUserEmptyClipboard ) \ + SYSCALL_ENTRY( NtUserEnableMenuItem ) \ SYSCALL_ENTRY( NtUserEndDeferWindowPosEx ) \ SYSCALL_ENTRY( NtUserEndMenu ) \ SYSCALL_ENTRY( NtUserEnumDisplayDevices ) \ @@ -163,6 +165,7 @@ SYSCALL_ENTRY( NtUserGetKeyboardLayoutName ) \ SYSCALL_ENTRY( NtUserGetKeyboardState ) \ SYSCALL_ENTRY( NtUserGetLayeredWindowAttributes ) \ + SYSCALL_ENTRY( NtUserGetMenuBarInfo ) \ SYSCALL_ENTRY( NtUserGetMenuItemRect ) \ SYSCALL_ENTRY( NtUserGetMessage ) \ SYSCALL_ENTRY( NtUserGetMouseMovePointsEx ) \ @@ -179,6 +182,7 @@ SYSCALL_ENTRY( NtUserGetRawInputDeviceList ) \ SYSCALL_ENTRY( NtUserGetRegisteredRawInputDevices ) \ SYSCALL_ENTRY( NtUserGetSystemDpiForProcess ) \ + SYSCALL_ENTRY( NtUserGetSystemMenu ) \ SYSCALL_ENTRY( NtUserGetThreadDesktop ) \ SYSCALL_ENTRY( NtUserGetTitleBarInfo ) \ SYSCALL_ENTRY( NtUserGetUpdateRect ) \ @@ -186,6 +190,7 @@ SYSCALL_ENTRY( NtUserGetUpdatedClipboardFormats ) \ SYSCALL_ENTRY( NtUserGetWindowRgnEx ) \ SYSCALL_ENTRY( NtUserHideCaret ) \ + SYSCALL_ENTRY( NtUserHiliteMenuItem ) \ SYSCALL_ENTRY( NtUserInitializeClientPfnArrays ) \ SYSCALL_ENTRY( NtUserInternalGetWindowText ) \ SYSCALL_ENTRY( NtUserInvalidateRect ) \ @@ -225,6 +230,7 @@ SYSCALL_ENTRY( NtUserSetFocus ) \ SYSCALL_ENTRY( NtUserSetInternalWindowPos ) \ SYSCALL_ENTRY( NtUserSetKeyboardState ) \ + SYSCALL_ENTRY( NtUserSetMenu ) \ SYSCALL_ENTRY( NtUserSetMenuContextHelpId ) \ SYSCALL_ENTRY( NtUserSetMenuDefaultItem ) \ SYSCALL_ENTRY( NtUserSetObjectInformation ) \ @@ -232,6 +238,7 @@ SYSCALL_ENTRY( NtUserSetProcessWindowStation ) \ SYSCALL_ENTRY( NtUserSetProp ) \ SYSCALL_ENTRY( NtUserSetSysColors ) \ + SYSCALL_ENTRY( NtUserSetSystemMenu ) \ SYSCALL_ENTRY( NtUserSetSystemTimer ) \ SYSCALL_ENTRY( NtUserSetThreadDesktop ) \ SYSCALL_ENTRY( NtUserSetTimer ) \ @@ -245,6 +252,7 @@ SYSCALL_ENTRY( NtUserToUnicodeEx ) \ SYSCALL_ENTRY( NtUserTrackMouseEvent ) \ SYSCALL_ENTRY( NtUserTrackPopupMenuEx ) \ + SYSCALL_ENTRY( NtUserTranslateAccelerator ) \ SYSCALL_ENTRY( NtUserTranslateMessage ) \ SYSCALL_ENTRY( NtUserUnhookWinEvent ) \ SYSCALL_ENTRY( NtUserUnhookWindowsHookEx ) \ diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index c54e96d53c6..057ca772905 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -507,6 +507,13 @@ NTSTATUS WINAPI wow64_NtUserDestroyInputContext( UINT *args ) return NtUserDestroyInputContext( handle ); } +NTSTATUS WINAPI wow64_NtUserDestroyMenu( UINT *args ) +{ + HMENU handle = get_handle( &args ); + + return NtUserDestroyMenu( handle ); +} + NTSTATUS WINAPI wow64_NtUserDestroyWindow( UINT *args ) { HWND hwnd = get_handle( &args ); @@ -558,6 +565,15 @@ NTSTATUS WINAPI wow64_NtUserEmptyClipboard( UINT *args ) return NtUserEmptyClipboard(); } +NTSTATUS WINAPI wow64_NtUserEnableMenuItem( UINT *args ) +{ + HMENU handle = get_handle( &args ); + UINT id = get_ulong( &args ); + UINT flags = get_ulong( &args ); + + return NtUserEnableMenuItem( handle, id, flags ); +} + NTSTATUS WINAPI wow64_NtUserEndDeferWindowPosEx( UINT *args ) { HDWP hdwp = get_handle( &args ); @@ -950,6 +966,38 @@ NTSTATUS WINAPI wow64_NtUserGetLayeredWindowAttributes( UINT *args ) return NtUserGetLayeredWindowAttributes( hwnd, key, alpha, flags ); } +NTSTATUS WINAPI wow64_NtUserGetMenuBarInfo( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + LONG id = get_ulong( &args ); + LONG item = get_ulong( &args ); + struct + { + DWORD cbSize; + RECT rcBar; + ULONG hMenu; + ULONG hwndMenu; + BOOL fBarFocused:1; + BOOL fFocused:1; + } *info32 = get_ptr( &args ); + + MENUBARINFO info; + + if (info32->cbSize != sizeof(*info32)) + { + SetLastError( ERROR_INVALID_PARAMETER ); + return FALSE; + } + + info.cbSize = sizeof(info); + info.rcBar = info32->rcBar; + info.hMenu = UlongToHandle( info32->hMenu ); + info.hwndMenu = UlongToHandle( info32->hwndMenu ); + info.fBarFocused = info32->fBarFocused; + info.fFocused = info32->fFocused; + return NtUserGetMenuBarInfo( hwnd, id, item, &info ); +} + NTSTATUS WINAPI wow64_NtUserGetMenuItemRect( UINT *args ) { HWND hwnd = get_handle( &args ); @@ -1241,6 +1289,14 @@ NTSTATUS WINAPI wow64_NtUserGetSystemDpiForProcess( UINT *args ) return NtUserGetSystemDpiForProcess( process ); } +NTSTATUS WINAPI wow64_NtUserGetSystemMenu( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + BOOL revert = get_ulong( &args ); + + return HandleToUlong( NtUserGetSystemMenu( hwnd, revert )); +} + NTSTATUS WINAPI wow64_NtUserGetThreadDesktop( UINT *args ) { DWORD thread = get_ulong( &args ); @@ -1299,6 +1355,16 @@ NTSTATUS WINAPI wow64_NtUserHideCaret( UINT *args ) return NtUserHideCaret( hwnd ); } +NTSTATUS WINAPI wow64_NtUserHiliteMenuItem( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + HMENU handle = get_handle( &args ); + UINT item = get_ulong( &args ); + UINT hilite = get_ulong( &args ); + + return NtUserHiliteMenuItem( hwnd, handle, item, hilite ); +} + NTSTATUS WINAPI wow64_NtUserInitializeClientPfnArrays( UINT *args ) { FIXME( "\n" ); @@ -1743,6 +1809,14 @@ NTSTATUS WINAPI wow64_NtUserSetKeyboardState( UINT *args ) return NtUserSetKeyboardState( state ); } +NTSTATUS WINAPI wow64_NtUserSetMenu( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + HMENU menu = get_handle( &args ); + + return NtUserSetMenu( hwnd, menu ); +} + NTSTATUS WINAPI wow64_NtUserSetMenuContextHelpId( UINT *args ) { HMENU menu = get_handle( &args ); @@ -1803,6 +1877,14 @@ NTSTATUS WINAPI wow64_NtUserSetSysColors( UINT *args ) return NtUserSetSysColors( count, colors, values ); } +NTSTATUS WINAPI wow64_NtUserSetSystemMenu( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + HMENU menu = get_handle( &args ); + + return NtUserSetSystemMenu( hwnd, menu ); +} + NTSTATUS WINAPI wow64_NtUserSetSystemTimer( UINT *args ) { HWND hwnd = get_handle( &args ); @@ -2008,6 +2090,17 @@ NTSTATUS WINAPI wow64_NtUserTrackPopupMenuEx( UINT *args ) return NtUserTrackPopupMenuEx( handle, flags, x, y, hwnd, params ); } +NTSTATUS WINAPI wow64_NtUserTranslateAccelerator( UINT *args ) +{ + HWND hwnd = get_handle( &args ); + HACCEL accel = get_handle( &args ); + MSG32 *msg32 = get_ptr( &args ); + + MSG msg; + + return NtUserTranslateAccelerator( hwnd, accel, msg_32to64( &msg, msg32 )); +} + NTSTATUS WINAPI wow64_NtUserTranslateMessage( UINT *args ) { const MSG32 *msg32 = get_ptr( &args );