win32u: Implement NtUserBuildPropList().

This commit is contained in:
Alexandre Julliard 2024-11-18 12:19:16 +01:00
parent e72bd3a7a0
commit fcb7160816
9 changed files with 565 additions and 484 deletions

View file

@ -18,11 +18,12 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "wine/winuser16.h" #include "wine/winuser16.h"
#include "wownt32.h" #include "wownt32.h"
#include "user_private.h" #include "user_private.h"
#include "wine/list.h" #include "wine/list.h"
#include "wine/server.h"
#include "wine/debug.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(win); WINE_DEFAULT_DEBUG_CHANNEL(win);
@ -192,22 +193,16 @@ BOOL16 WINAPI SetProp16( HWND16 hwnd, LPCSTR str, HANDLE16 handle )
*/ */
INT16 WINAPI EnumProps16( HWND16 hwnd, PROPENUMPROC16 func ) INT16 WINAPI EnumProps16( HWND16 hwnd, PROPENUMPROC16 func )
{ {
int ret = -1, i, count, total = 32; int ret = -1, i;
property_data_t *list; struct ntuser_property_list *list;
ULONG count, total = 32;
NTSTATUS status;
while (total) while (total)
{ {
if (!(list = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*list) ))) break; if (!(list = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*list) ))) break;
count = 0; status = NtUserBuildPropList( WIN_Handle32(hwnd), total, list, &count );
SERVER_START_REQ( get_window_properties ) if (!status && count)
{
req->window = wine_server_user_handle( HWND_32(hwnd) );
wine_server_set_reply( req, list, total * sizeof(*list) );
if (!wine_server_call( req )) count = reply->total;
}
SERVER_END_REQ;
if (count && count <= total)
{ {
char string[ATOM_BUFFER_SIZE]; char string[ATOM_BUFFER_SIZE];
SEGPTR segptr = MapLS( string ); SEGPTR segptr = MapLS( string );
@ -239,6 +234,7 @@ INT16 WINAPI EnumProps16( HWND16 hwnd, PROPENUMPROC16 func )
break; break;
} }
HeapFree( GetProcessHeap(), 0, list ); HeapFree( GetProcessHeap(), 0, list );
if (status != STATUS_BUFFER_TOO_SMALL) break;
total = count; /* restart with larger buffer */ total = count; /* restart with larger buffer */
} }
return ret; return ret;

View file

@ -21,11 +21,12 @@
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "winnls.h" #include "winnls.h"
#include "ntuser.h" #include "ntuser.h"
#include "wine/server.h"
/* size of buffer needed to store an atom string */ /* size of buffer needed to store an atom string */
#define ATOM_BUFFER_SIZE 256 #define ATOM_BUFFER_SIZE 256
@ -37,30 +38,19 @@
* Retrieve the list of properties of a given window. * Retrieve the list of properties of a given window.
* Returned buffer must be freed by caller. * Returned buffer must be freed by caller.
*/ */
static property_data_t *get_properties( HWND hwnd, int *count ) static struct ntuser_property_list *get_properties( HWND hwnd, ULONG *count )
{ {
property_data_t *data; struct ntuser_property_list *props;
int total = 32; int total = 32;
NTSTATUS status;
while (total) while (total)
{ {
int res = 0; if (!(props = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*props) ))) break;
if (!(data = HeapAlloc( GetProcessHeap(), 0, total * sizeof(*data) ))) break; if (!(status = NtUserBuildPropList( hwnd, total, props, count ))) return props;
*count = 0; HeapFree( GetProcessHeap(), 0, props );
SERVER_START_REQ( get_window_properties ) if (status != STATUS_BUFFER_TOO_SMALL) break;
{ total = *count; /* restart with larger buffer */
req->window = wine_server_user_handle( hwnd );
wine_server_set_reply( req, data, total * sizeof(*data) );
if (!wine_server_call( req )) res = reply->total;
}
SERVER_END_REQ;
if (res && res <= total)
{
*count = res;
return data;
}
HeapFree( GetProcessHeap(), 0, data );
total = res; /* restart with larger buffer */
} }
return NULL; return NULL;
} }
@ -179,8 +169,9 @@ HANDLE WINAPI RemovePropW( HWND hwnd, LPCWSTR str )
*/ */
INT WINAPI EnumPropsExA(HWND hwnd, PROPENUMPROCEXA func, LPARAM lParam) INT WINAPI EnumPropsExA(HWND hwnd, PROPENUMPROCEXA func, LPARAM lParam)
{ {
int ret = -1, i, count; int ret = -1;
property_data_t *list = get_properties( hwnd, &count ); ULONG i, count;
struct ntuser_property_list *list = get_properties( hwnd, &count );
if (list) if (list)
{ {
@ -201,8 +192,9 @@ INT WINAPI EnumPropsExA(HWND hwnd, PROPENUMPROCEXA func, LPARAM lParam)
*/ */
INT WINAPI EnumPropsExW(HWND hwnd, PROPENUMPROCEXW func, LPARAM lParam) INT WINAPI EnumPropsExW(HWND hwnd, PROPENUMPROCEXW func, LPARAM lParam)
{ {
int ret = -1, i, count; int ret = -1;
property_data_t *list = get_properties( hwnd, &count ); ULONG i, count;
struct ntuser_property_list *list = get_properties( hwnd, &count );
if (list) if (list)
{ {

View file

@ -1133,6 +1133,11 @@ NTSTATUS SYSCALL_API NtUserBuildHwndList( HDESK desktop, ULONG unk2, ULONG unk3,
SYSCALL_FUNC( NtUserBuildHwndList ); SYSCALL_FUNC( NtUserBuildHwndList );
} }
NTSTATUS SYSCALL_API NtUserBuildPropList( HWND hwnd, ULONG count, struct ntuser_property_list *buffer, ULONG *ret_count )
{
SYSCALL_FUNC( NtUserBuildPropList );
}
ULONG_PTR SYSCALL_API NtUserCallHwnd( HWND hwnd, DWORD code ) ULONG_PTR SYSCALL_API NtUserCallHwnd( HWND hwnd, DWORD code )
{ {
SYSCALL_FUNC( NtUserCallHwnd ); SYSCALL_FUNC( NtUserCallHwnd );

View file

@ -120,6 +120,9 @@ static void test_window_props(void)
ATOM atom; ATOM atom;
HWND hwnd; HWND hwnd;
BOOL ret; BOOL ret;
ULONG i, count;
NTSTATUS status;
struct ntuser_property_list *props;
hwnd = CreateWindowExA( 0, "static", NULL, WS_POPUP, 0,0,0,0,0,0,0, NULL ); hwnd = CreateWindowExA( 0, "static", NULL, WS_POPUP, 0,0,0,0,0,0,0, NULL );
@ -134,12 +137,40 @@ static void test_window_props(void)
prop = NtUserGetProp( hwnd, UlongToPtr(atom) ); prop = NtUserGetProp( hwnd, UlongToPtr(atom) );
ok( prop == UlongToHandle(0xdeadbeef), "prop = %p\n", prop ); ok( prop == UlongToHandle(0xdeadbeef), "prop = %p\n", prop );
props = malloc( 32 * sizeof(*props) );
count = 0xdead;
status = NtUserBuildPropList( hwnd, 32, NULL, &count );
ok( status == STATUS_INVALID_PARAMETER || status == STATUS_INVALID_HANDLE,
"NtUserBuildPropList failed %lx\n", status );
ok( count == 0xdead, "wrong count %lu\n", count );
status = NtUserBuildPropList( hwnd, 32, props, NULL );
ok( status == STATUS_INVALID_PARAMETER || status == STATUS_INVALID_HANDLE,
"NtUserBuildPropList failed %lx\n", status );
ok( count == 0xdead, "wrong count %lu\n", count );
status = NtUserBuildPropList( hwnd, 32, props, &count );
ok( !status, "NtUserBuildPropList failed %lx\n", status );
ok( count, "wrong count %lu\n", count );
for (i = 0; i < count; i++)
{
if (props[i].data != (INT_PTR)0xdeadbeef) continue;
ok( props[i].atom == atom, "prop = %x / %x\n", props[i].atom, atom );
break;
}
ok( i < count, "property not found\n" );
prop = NtUserRemoveProp( hwnd, UlongToPtr(atom) ); prop = NtUserRemoveProp( hwnd, UlongToPtr(atom) );
ok( prop == UlongToHandle(0xdeadbeef), "prop = %p\n", prop ); ok( prop == UlongToHandle(0xdeadbeef), "prop = %p\n", prop );
prop = GetPropW(hwnd, L"test"); prop = GetPropW(hwnd, L"test");
ok(!prop, "prop = %p\n", prop); ok(!prop, "prop = %p\n", prop);
status = NtUserBuildPropList( hwnd, 32, props, &count );
ok( !status, "NtUserBuildPropList failed %lx\n", status );
for (i = 0; i < count; i++) ok( props[i].atom != atom, "property still exists\n" );
free( props );
GlobalDeleteAtom( atom ); GlobalDeleteAtom( atom );
DestroyWindow( hwnd ); DestroyWindow( hwnd );
} }

View file

@ -206,229 +206,230 @@
SYSCALL_ENTRY( 0x00ca, NtUserBeginPaint, 8 ) \ SYSCALL_ENTRY( 0x00ca, NtUserBeginPaint, 8 ) \
SYSCALL_ENTRY( 0x00cb, NtUserBuildHimcList, 16 ) \ SYSCALL_ENTRY( 0x00cb, NtUserBuildHimcList, 16 ) \
SYSCALL_ENTRY( 0x00cc, NtUserBuildHwndList, 32 ) \ SYSCALL_ENTRY( 0x00cc, NtUserBuildHwndList, 32 ) \
SYSCALL_ENTRY( 0x00cd, NtUserCallHwnd, 8 ) \ SYSCALL_ENTRY( 0x00cd, NtUserBuildPropList, 16 ) \
SYSCALL_ENTRY( 0x00ce, NtUserCallHwndParam, 12 ) \ SYSCALL_ENTRY( 0x00ce, NtUserCallHwnd, 8 ) \
SYSCALL_ENTRY( 0x00cf, NtUserCallMsgFilter, 8 ) \ SYSCALL_ENTRY( 0x00cf, NtUserCallHwndParam, 12 ) \
SYSCALL_ENTRY( 0x00d0, NtUserCallNextHookEx, 16 ) \ SYSCALL_ENTRY( 0x00d0, NtUserCallMsgFilter, 8 ) \
SYSCALL_ENTRY( 0x00d1, NtUserCallNoParam, 4 ) \ SYSCALL_ENTRY( 0x00d1, NtUserCallNextHookEx, 16 ) \
SYSCALL_ENTRY( 0x00d2, NtUserCallOneParam, 8 ) \ SYSCALL_ENTRY( 0x00d2, NtUserCallNoParam, 4 ) \
SYSCALL_ENTRY( 0x00d3, NtUserCallTwoParam, 12 ) \ SYSCALL_ENTRY( 0x00d3, NtUserCallOneParam, 8 ) \
SYSCALL_ENTRY( 0x00d4, NtUserChangeClipboardChain, 8 ) \ SYSCALL_ENTRY( 0x00d4, NtUserCallTwoParam, 12 ) \
SYSCALL_ENTRY( 0x00d5, NtUserChangeDisplaySettings, 20 ) \ SYSCALL_ENTRY( 0x00d5, NtUserChangeClipboardChain, 8 ) \
SYSCALL_ENTRY( 0x00d6, NtUserCheckMenuItem, 12 ) \ SYSCALL_ENTRY( 0x00d6, NtUserChangeDisplaySettings, 20 ) \
SYSCALL_ENTRY( 0x00d7, NtUserChildWindowFromPointEx, 16 ) \ SYSCALL_ENTRY( 0x00d7, NtUserCheckMenuItem, 12 ) \
SYSCALL_ENTRY( 0x00d8, NtUserClipCursor, 4 ) \ SYSCALL_ENTRY( 0x00d8, NtUserChildWindowFromPointEx, 16 ) \
SYSCALL_ENTRY( 0x00d9, NtUserCloseClipboard, 0 ) \ SYSCALL_ENTRY( 0x00d9, NtUserClipCursor, 4 ) \
SYSCALL_ENTRY( 0x00da, NtUserCloseDesktop, 4 ) \ SYSCALL_ENTRY( 0x00da, NtUserCloseClipboard, 0 ) \
SYSCALL_ENTRY( 0x00db, NtUserCloseWindowStation, 4 ) \ SYSCALL_ENTRY( 0x00db, NtUserCloseDesktop, 4 ) \
SYSCALL_ENTRY( 0x00dc, NtUserCopyAcceleratorTable, 12 ) \ SYSCALL_ENTRY( 0x00dc, NtUserCloseWindowStation, 4 ) \
SYSCALL_ENTRY( 0x00dd, NtUserCountClipboardFormats, 0 ) \ SYSCALL_ENTRY( 0x00dd, NtUserCopyAcceleratorTable, 12 ) \
SYSCALL_ENTRY( 0x00de, NtUserCreateAcceleratorTable, 8 ) \ SYSCALL_ENTRY( 0x00de, NtUserCountClipboardFormats, 0 ) \
SYSCALL_ENTRY( 0x00df, NtUserCreateCaret, 16 ) \ SYSCALL_ENTRY( 0x00df, NtUserCreateAcceleratorTable, 8 ) \
SYSCALL_ENTRY( 0x00e0, NtUserCreateDesktopEx, 24 ) \ SYSCALL_ENTRY( 0x00e0, NtUserCreateCaret, 16 ) \
SYSCALL_ENTRY( 0x00e1, NtUserCreateInputContext, 4 ) \ SYSCALL_ENTRY( 0x00e1, NtUserCreateDesktopEx, 24 ) \
SYSCALL_ENTRY( 0x00e2, NtUserCreateWindowEx, 68 ) \ SYSCALL_ENTRY( 0x00e2, NtUserCreateInputContext, 4 ) \
SYSCALL_ENTRY( 0x00e3, NtUserCreateWindowStation, 28 ) \ SYSCALL_ENTRY( 0x00e3, NtUserCreateWindowEx, 68 ) \
SYSCALL_ENTRY( 0x00e4, NtUserDeferWindowPosAndBand, 40 ) \ SYSCALL_ENTRY( 0x00e4, NtUserCreateWindowStation, 28 ) \
SYSCALL_ENTRY( 0x00e5, NtUserDeleteMenu, 12 ) \ SYSCALL_ENTRY( 0x00e5, NtUserDeferWindowPosAndBand, 40 ) \
SYSCALL_ENTRY( 0x00e6, NtUserDestroyAcceleratorTable, 4 ) \ SYSCALL_ENTRY( 0x00e6, NtUserDeleteMenu, 12 ) \
SYSCALL_ENTRY( 0x00e7, NtUserDestroyCursor, 8 ) \ SYSCALL_ENTRY( 0x00e7, NtUserDestroyAcceleratorTable, 4 ) \
SYSCALL_ENTRY( 0x00e8, NtUserDestroyInputContext, 4 ) \ SYSCALL_ENTRY( 0x00e8, NtUserDestroyCursor, 8 ) \
SYSCALL_ENTRY( 0x00e9, NtUserDestroyMenu, 4 ) \ SYSCALL_ENTRY( 0x00e9, NtUserDestroyInputContext, 4 ) \
SYSCALL_ENTRY( 0x00ea, NtUserDestroyWindow, 4 ) \ SYSCALL_ENTRY( 0x00ea, NtUserDestroyMenu, 4 ) \
SYSCALL_ENTRY( 0x00eb, NtUserDisableThreadIme, 4 ) \ SYSCALL_ENTRY( 0x00eb, NtUserDestroyWindow, 4 ) \
SYSCALL_ENTRY( 0x00ec, NtUserDispatchMessage, 4 ) \ SYSCALL_ENTRY( 0x00ec, NtUserDisableThreadIme, 4 ) \
SYSCALL_ENTRY( 0x00ed, NtUserDisplayConfigGetDeviceInfo, 4 ) \ SYSCALL_ENTRY( 0x00ed, NtUserDispatchMessage, 4 ) \
SYSCALL_ENTRY( 0x00ee, NtUserDragDetect, 12 ) \ SYSCALL_ENTRY( 0x00ee, NtUserDisplayConfigGetDeviceInfo, 4 ) \
SYSCALL_ENTRY( 0x00ef, NtUserDragObject, 20 ) \ SYSCALL_ENTRY( 0x00ef, NtUserDragDetect, 12 ) \
SYSCALL_ENTRY( 0x00f0, NtUserDrawCaptionTemp, 28 ) \ SYSCALL_ENTRY( 0x00f0, NtUserDragObject, 20 ) \
SYSCALL_ENTRY( 0x00f1, NtUserDrawIconEx, 36 ) \ SYSCALL_ENTRY( 0x00f1, NtUserDrawCaptionTemp, 28 ) \
SYSCALL_ENTRY( 0x00f2, NtUserDrawMenuBarTemp, 20 ) \ SYSCALL_ENTRY( 0x00f2, NtUserDrawIconEx, 36 ) \
SYSCALL_ENTRY( 0x00f3, NtUserEmptyClipboard, 0 ) \ SYSCALL_ENTRY( 0x00f3, NtUserDrawMenuBarTemp, 20 ) \
SYSCALL_ENTRY( 0x00f4, NtUserEnableMenuItem, 12 ) \ SYSCALL_ENTRY( 0x00f4, NtUserEmptyClipboard, 0 ) \
SYSCALL_ENTRY( 0x00f5, NtUserEnableMouseInPointer, 4 ) \ SYSCALL_ENTRY( 0x00f5, NtUserEnableMenuItem, 12 ) \
SYSCALL_ENTRY( 0x00f6, NtUserEnableMouseInPointerForThread, 0 ) \ SYSCALL_ENTRY( 0x00f6, NtUserEnableMouseInPointer, 4 ) \
SYSCALL_ENTRY( 0x00f7, NtUserEnableScrollBar, 12 ) \ SYSCALL_ENTRY( 0x00f7, NtUserEnableMouseInPointerForThread, 0 ) \
SYSCALL_ENTRY( 0x00f8, NtUserEndDeferWindowPosEx, 8 ) \ SYSCALL_ENTRY( 0x00f8, NtUserEnableScrollBar, 12 ) \
SYSCALL_ENTRY( 0x00f9, NtUserEndMenu, 0 ) \ SYSCALL_ENTRY( 0x00f9, NtUserEndDeferWindowPosEx, 8 ) \
SYSCALL_ENTRY( 0x00fa, NtUserEndPaint, 8 ) \ SYSCALL_ENTRY( 0x00fa, NtUserEndMenu, 0 ) \
SYSCALL_ENTRY( 0x00fb, NtUserEnumDisplayDevices, 16 ) \ SYSCALL_ENTRY( 0x00fb, NtUserEndPaint, 8 ) \
SYSCALL_ENTRY( 0x00fc, NtUserEnumDisplayMonitors, 16 ) \ SYSCALL_ENTRY( 0x00fc, NtUserEnumDisplayDevices, 16 ) \
SYSCALL_ENTRY( 0x00fd, NtUserEnumDisplaySettings, 16 ) \ SYSCALL_ENTRY( 0x00fd, NtUserEnumDisplayMonitors, 16 ) \
SYSCALL_ENTRY( 0x00fe, NtUserExcludeUpdateRgn, 8 ) \ SYSCALL_ENTRY( 0x00fe, NtUserEnumDisplaySettings, 16 ) \
SYSCALL_ENTRY( 0x00ff, NtUserFindExistingCursorIcon, 12 ) \ SYSCALL_ENTRY( 0x00ff, NtUserExcludeUpdateRgn, 8 ) \
SYSCALL_ENTRY( 0x0100, NtUserFindWindowEx, 20 ) \ SYSCALL_ENTRY( 0x0100, NtUserFindExistingCursorIcon, 12 ) \
SYSCALL_ENTRY( 0x0101, NtUserFlashWindowEx, 4 ) \ SYSCALL_ENTRY( 0x0101, NtUserFindWindowEx, 20 ) \
SYSCALL_ENTRY( 0x0102, NtUserGetAncestor, 8 ) \ SYSCALL_ENTRY( 0x0102, NtUserFlashWindowEx, 4 ) \
SYSCALL_ENTRY( 0x0103, NtUserGetAsyncKeyState, 4 ) \ SYSCALL_ENTRY( 0x0103, NtUserGetAncestor, 8 ) \
SYSCALL_ENTRY( 0x0104, NtUserGetAtomName, 8 ) \ SYSCALL_ENTRY( 0x0104, NtUserGetAsyncKeyState, 4 ) \
SYSCALL_ENTRY( 0x0105, NtUserGetCaretBlinkTime, 0 ) \ SYSCALL_ENTRY( 0x0105, NtUserGetAtomName, 8 ) \
SYSCALL_ENTRY( 0x0106, NtUserGetCaretPos, 4 ) \ SYSCALL_ENTRY( 0x0106, NtUserGetCaretBlinkTime, 0 ) \
SYSCALL_ENTRY( 0x0107, NtUserGetClassInfoEx, 20 ) \ SYSCALL_ENTRY( 0x0107, NtUserGetCaretPos, 4 ) \
SYSCALL_ENTRY( 0x0108, NtUserGetClassName, 12 ) \ SYSCALL_ENTRY( 0x0108, NtUserGetClassInfoEx, 20 ) \
SYSCALL_ENTRY( 0x0109, NtUserGetClipboardData, 8 ) \ SYSCALL_ENTRY( 0x0109, NtUserGetClassName, 12 ) \
SYSCALL_ENTRY( 0x010a, NtUserGetClipboardFormatName, 12 ) \ SYSCALL_ENTRY( 0x010a, NtUserGetClipboardData, 8 ) \
SYSCALL_ENTRY( 0x010b, NtUserGetClipboardOwner, 0 ) \ SYSCALL_ENTRY( 0x010b, NtUserGetClipboardFormatName, 12 ) \
SYSCALL_ENTRY( 0x010c, NtUserGetClipboardSequenceNumber, 0 ) \ SYSCALL_ENTRY( 0x010c, NtUserGetClipboardOwner, 0 ) \
SYSCALL_ENTRY( 0x010d, NtUserGetClipboardViewer, 0 ) \ SYSCALL_ENTRY( 0x010d, NtUserGetClipboardSequenceNumber, 0 ) \
SYSCALL_ENTRY( 0x010e, NtUserGetCursor, 0 ) \ SYSCALL_ENTRY( 0x010e, NtUserGetClipboardViewer, 0 ) \
SYSCALL_ENTRY( 0x010f, NtUserGetCursorFrameInfo, 16 ) \ SYSCALL_ENTRY( 0x010f, NtUserGetCursor, 0 ) \
SYSCALL_ENTRY( 0x0110, NtUserGetCursorInfo, 4 ) \ SYSCALL_ENTRY( 0x0110, NtUserGetCursorFrameInfo, 16 ) \
SYSCALL_ENTRY( 0x0111, NtUserGetDC, 4 ) \ SYSCALL_ENTRY( 0x0111, NtUserGetCursorInfo, 4 ) \
SYSCALL_ENTRY( 0x0112, NtUserGetDCEx, 12 ) \ SYSCALL_ENTRY( 0x0112, NtUserGetDC, 4 ) \
SYSCALL_ENTRY( 0x0113, NtUserGetDisplayConfigBufferSizes, 12 ) \ SYSCALL_ENTRY( 0x0113, NtUserGetDCEx, 12 ) \
SYSCALL_ENTRY( 0x0114, NtUserGetDoubleClickTime, 0 ) \ SYSCALL_ENTRY( 0x0114, NtUserGetDisplayConfigBufferSizes, 12 ) \
SYSCALL_ENTRY( 0x0115, NtUserGetDpiForMonitor, 16 ) \ SYSCALL_ENTRY( 0x0115, NtUserGetDoubleClickTime, 0 ) \
SYSCALL_ENTRY( 0x0116, NtUserGetForegroundWindow, 0 ) \ SYSCALL_ENTRY( 0x0116, NtUserGetDpiForMonitor, 16 ) \
SYSCALL_ENTRY( 0x0117, NtUserGetGUIThreadInfo, 8 ) \ SYSCALL_ENTRY( 0x0117, NtUserGetForegroundWindow, 0 ) \
SYSCALL_ENTRY( 0x0118, NtUserGetIconInfo, 24 ) \ SYSCALL_ENTRY( 0x0118, NtUserGetGUIThreadInfo, 8 ) \
SYSCALL_ENTRY( 0x0119, NtUserGetIconSize, 16 ) \ SYSCALL_ENTRY( 0x0119, NtUserGetIconInfo, 24 ) \
SYSCALL_ENTRY( 0x011a, NtUserGetInternalWindowPos, 12 ) \ SYSCALL_ENTRY( 0x011a, NtUserGetIconSize, 16 ) \
SYSCALL_ENTRY( 0x011b, NtUserGetKeyNameText, 12 ) \ SYSCALL_ENTRY( 0x011b, NtUserGetInternalWindowPos, 12 ) \
SYSCALL_ENTRY( 0x011c, NtUserGetKeyState, 4 ) \ SYSCALL_ENTRY( 0x011c, NtUserGetKeyNameText, 12 ) \
SYSCALL_ENTRY( 0x011d, NtUserGetKeyboardLayout, 4 ) \ SYSCALL_ENTRY( 0x011d, NtUserGetKeyState, 4 ) \
SYSCALL_ENTRY( 0x011e, NtUserGetKeyboardLayoutList, 8 ) \ SYSCALL_ENTRY( 0x011e, NtUserGetKeyboardLayout, 4 ) \
SYSCALL_ENTRY( 0x011f, NtUserGetKeyboardLayoutName, 4 ) \ SYSCALL_ENTRY( 0x011f, NtUserGetKeyboardLayoutList, 8 ) \
SYSCALL_ENTRY( 0x0120, NtUserGetKeyboardState, 4 ) \ SYSCALL_ENTRY( 0x0120, NtUserGetKeyboardLayoutName, 4 ) \
SYSCALL_ENTRY( 0x0121, NtUserGetLayeredWindowAttributes, 16 ) \ SYSCALL_ENTRY( 0x0121, NtUserGetKeyboardState, 4 ) \
SYSCALL_ENTRY( 0x0122, NtUserGetMenuBarInfo, 16 ) \ SYSCALL_ENTRY( 0x0122, NtUserGetLayeredWindowAttributes, 16 ) \
SYSCALL_ENTRY( 0x0123, NtUserGetMenuItemRect, 16 ) \ SYSCALL_ENTRY( 0x0123, NtUserGetMenuBarInfo, 16 ) \
SYSCALL_ENTRY( 0x0124, NtUserGetMessage, 16 ) \ SYSCALL_ENTRY( 0x0124, NtUserGetMenuItemRect, 16 ) \
SYSCALL_ENTRY( 0x0125, NtUserGetMouseMovePointsEx, 20 ) \ SYSCALL_ENTRY( 0x0125, NtUserGetMessage, 16 ) \
SYSCALL_ENTRY( 0x0126, NtUserGetObjectInformation, 20 ) \ SYSCALL_ENTRY( 0x0126, NtUserGetMouseMovePointsEx, 20 ) \
SYSCALL_ENTRY( 0x0127, NtUserGetOpenClipboardWindow, 0 ) \ SYSCALL_ENTRY( 0x0127, NtUserGetObjectInformation, 20 ) \
SYSCALL_ENTRY( 0x0128, NtUserGetPointerInfoList, 32 ) \ SYSCALL_ENTRY( 0x0128, NtUserGetOpenClipboardWindow, 0 ) \
SYSCALL_ENTRY( 0x0129, NtUserGetPriorityClipboardFormat, 8 ) \ SYSCALL_ENTRY( 0x0129, NtUserGetPointerInfoList, 32 ) \
SYSCALL_ENTRY( 0x012a, NtUserGetProcessDpiAwarenessContext, 4 ) \ SYSCALL_ENTRY( 0x012a, NtUserGetPriorityClipboardFormat, 8 ) \
SYSCALL_ENTRY( 0x012b, NtUserGetProcessWindowStation, 0 ) \ SYSCALL_ENTRY( 0x012b, NtUserGetProcessDpiAwarenessContext, 4 ) \
SYSCALL_ENTRY( 0x012c, NtUserGetProp, 8 ) \ SYSCALL_ENTRY( 0x012c, NtUserGetProcessWindowStation, 0 ) \
SYSCALL_ENTRY( 0x012d, NtUserGetQueueStatus, 4 ) \ SYSCALL_ENTRY( 0x012d, NtUserGetProp, 8 ) \
SYSCALL_ENTRY( 0x012e, NtUserGetRawInputBuffer, 12 ) \ SYSCALL_ENTRY( 0x012e, NtUserGetQueueStatus, 4 ) \
SYSCALL_ENTRY( 0x012f, NtUserGetRawInputData, 20 ) \ SYSCALL_ENTRY( 0x012f, NtUserGetRawInputBuffer, 12 ) \
SYSCALL_ENTRY( 0x0130, NtUserGetRawInputDeviceInfo, 16 ) \ SYSCALL_ENTRY( 0x0130, NtUserGetRawInputData, 20 ) \
SYSCALL_ENTRY( 0x0131, NtUserGetRawInputDeviceList, 12 ) \ SYSCALL_ENTRY( 0x0131, NtUserGetRawInputDeviceInfo, 16 ) \
SYSCALL_ENTRY( 0x0132, NtUserGetRegisteredRawInputDevices, 12 ) \ SYSCALL_ENTRY( 0x0132, NtUserGetRawInputDeviceList, 12 ) \
SYSCALL_ENTRY( 0x0133, NtUserGetScrollBarInfo, 12 ) \ SYSCALL_ENTRY( 0x0133, NtUserGetRegisteredRawInputDevices, 12 ) \
SYSCALL_ENTRY( 0x0134, NtUserGetSystemDpiForProcess, 4 ) \ SYSCALL_ENTRY( 0x0134, NtUserGetScrollBarInfo, 12 ) \
SYSCALL_ENTRY( 0x0135, NtUserGetSystemMenu, 8 ) \ SYSCALL_ENTRY( 0x0135, NtUserGetSystemDpiForProcess, 4 ) \
SYSCALL_ENTRY( 0x0136, NtUserGetThreadDesktop, 4 ) \ SYSCALL_ENTRY( 0x0136, NtUserGetSystemMenu, 8 ) \
SYSCALL_ENTRY( 0x0137, NtUserGetTitleBarInfo, 8 ) \ SYSCALL_ENTRY( 0x0137, NtUserGetThreadDesktop, 4 ) \
SYSCALL_ENTRY( 0x0138, NtUserGetUpdateRect, 12 ) \ SYSCALL_ENTRY( 0x0138, NtUserGetTitleBarInfo, 8 ) \
SYSCALL_ENTRY( 0x0139, NtUserGetUpdateRgn, 12 ) \ SYSCALL_ENTRY( 0x0139, NtUserGetUpdateRect, 12 ) \
SYSCALL_ENTRY( 0x013a, NtUserGetUpdatedClipboardFormats, 12 ) \ SYSCALL_ENTRY( 0x013a, NtUserGetUpdateRgn, 12 ) \
SYSCALL_ENTRY( 0x013b, NtUserGetWindowDC, 4 ) \ SYSCALL_ENTRY( 0x013b, NtUserGetUpdatedClipboardFormats, 12 ) \
SYSCALL_ENTRY( 0x013c, NtUserGetWindowPlacement, 8 ) \ SYSCALL_ENTRY( 0x013c, NtUserGetWindowDC, 4 ) \
SYSCALL_ENTRY( 0x013d, NtUserGetWindowRgnEx, 12 ) \ SYSCALL_ENTRY( 0x013d, NtUserGetWindowPlacement, 8 ) \
SYSCALL_ENTRY( 0x013e, NtUserHideCaret, 4 ) \ SYSCALL_ENTRY( 0x013e, NtUserGetWindowRgnEx, 12 ) \
SYSCALL_ENTRY( 0x013f, NtUserHiliteMenuItem, 16 ) \ SYSCALL_ENTRY( 0x013f, NtUserHideCaret, 4 ) \
SYSCALL_ENTRY( 0x0140, NtUserInitializeClientPfnArrays, 16 ) \ SYSCALL_ENTRY( 0x0140, NtUserHiliteMenuItem, 16 ) \
SYSCALL_ENTRY( 0x0141, NtUserInternalGetWindowIcon, 8 ) \ SYSCALL_ENTRY( 0x0141, NtUserInitializeClientPfnArrays, 16 ) \
SYSCALL_ENTRY( 0x0142, NtUserInternalGetWindowText, 12 ) \ SYSCALL_ENTRY( 0x0142, NtUserInternalGetWindowIcon, 8 ) \
SYSCALL_ENTRY( 0x0143, NtUserInvalidateRect, 12 ) \ SYSCALL_ENTRY( 0x0143, NtUserInternalGetWindowText, 12 ) \
SYSCALL_ENTRY( 0x0144, NtUserInvalidateRgn, 12 ) \ SYSCALL_ENTRY( 0x0144, NtUserInvalidateRect, 12 ) \
SYSCALL_ENTRY( 0x0145, NtUserIsClipboardFormatAvailable, 4 ) \ SYSCALL_ENTRY( 0x0145, NtUserInvalidateRgn, 12 ) \
SYSCALL_ENTRY( 0x0146, NtUserIsMouseInPointerEnabled, 0 ) \ SYSCALL_ENTRY( 0x0146, NtUserIsClipboardFormatAvailable, 4 ) \
SYSCALL_ENTRY( 0x0147, NtUserKillTimer, 8 ) \ SYSCALL_ENTRY( 0x0147, NtUserIsMouseInPointerEnabled, 0 ) \
SYSCALL_ENTRY( 0x0148, NtUserLockWindowUpdate, 4 ) \ SYSCALL_ENTRY( 0x0148, NtUserKillTimer, 8 ) \
SYSCALL_ENTRY( 0x0149, NtUserLogicalToPerMonitorDPIPhysicalPoint, 8 ) \ SYSCALL_ENTRY( 0x0149, NtUserLockWindowUpdate, 4 ) \
SYSCALL_ENTRY( 0x014a, NtUserMapVirtualKeyEx, 12 ) \ SYSCALL_ENTRY( 0x014a, NtUserLogicalToPerMonitorDPIPhysicalPoint, 8 ) \
SYSCALL_ENTRY( 0x014b, NtUserMenuItemFromPoint, 16 ) \ SYSCALL_ENTRY( 0x014b, NtUserMapVirtualKeyEx, 12 ) \
SYSCALL_ENTRY( 0x014c, NtUserMessageCall, 28 ) \ SYSCALL_ENTRY( 0x014c, NtUserMenuItemFromPoint, 16 ) \
SYSCALL_ENTRY( 0x014d, NtUserMoveWindow, 24 ) \ SYSCALL_ENTRY( 0x014d, NtUserMessageCall, 28 ) \
SYSCALL_ENTRY( 0x014e, NtUserMsgWaitForMultipleObjectsEx, 20 ) \ SYSCALL_ENTRY( 0x014e, NtUserMoveWindow, 24 ) \
SYSCALL_ENTRY( 0x014f, NtUserNotifyIMEStatus, 8 ) \ SYSCALL_ENTRY( 0x014f, NtUserMsgWaitForMultipleObjectsEx, 20 ) \
SYSCALL_ENTRY( 0x0150, NtUserNotifyWinEvent, 16 ) \ SYSCALL_ENTRY( 0x0150, NtUserNotifyIMEStatus, 8 ) \
SYSCALL_ENTRY( 0x0151, NtUserOpenClipboard, 8 ) \ SYSCALL_ENTRY( 0x0151, NtUserNotifyWinEvent, 16 ) \
SYSCALL_ENTRY( 0x0152, NtUserOpenDesktop, 12 ) \ SYSCALL_ENTRY( 0x0152, NtUserOpenClipboard, 8 ) \
SYSCALL_ENTRY( 0x0153, NtUserOpenInputDesktop, 12 ) \ SYSCALL_ENTRY( 0x0153, NtUserOpenDesktop, 12 ) \
SYSCALL_ENTRY( 0x0154, NtUserOpenWindowStation, 8 ) \ SYSCALL_ENTRY( 0x0154, NtUserOpenInputDesktop, 12 ) \
SYSCALL_ENTRY( 0x0155, NtUserPeekMessage, 20 ) \ SYSCALL_ENTRY( 0x0155, NtUserOpenWindowStation, 8 ) \
SYSCALL_ENTRY( 0x0156, NtUserPerMonitorDPIPhysicalToLogicalPoint, 8 ) \ SYSCALL_ENTRY( 0x0156, NtUserPeekMessage, 20 ) \
SYSCALL_ENTRY( 0x0157, NtUserPostMessage, 16 ) \ SYSCALL_ENTRY( 0x0157, NtUserPerMonitorDPIPhysicalToLogicalPoint, 8 ) \
SYSCALL_ENTRY( 0x0158, NtUserPostThreadMessage, 16 ) \ SYSCALL_ENTRY( 0x0158, NtUserPostMessage, 16 ) \
SYSCALL_ENTRY( 0x0159, NtUserPrintWindow, 12 ) \ SYSCALL_ENTRY( 0x0159, NtUserPostThreadMessage, 16 ) \
SYSCALL_ENTRY( 0x015a, NtUserQueryDisplayConfig, 24 ) \ SYSCALL_ENTRY( 0x015a, NtUserPrintWindow, 12 ) \
SYSCALL_ENTRY( 0x015b, NtUserQueryInputContext, 8 ) \ SYSCALL_ENTRY( 0x015b, NtUserQueryDisplayConfig, 24 ) \
SYSCALL_ENTRY( 0x015c, NtUserRealChildWindowFromPoint, 12 ) \ SYSCALL_ENTRY( 0x015c, NtUserQueryInputContext, 8 ) \
SYSCALL_ENTRY( 0x015d, NtUserRedrawWindow, 16 ) \ SYSCALL_ENTRY( 0x015d, NtUserRealChildWindowFromPoint, 12 ) \
SYSCALL_ENTRY( 0x015e, NtUserRegisterClassExWOW, 28 ) \ SYSCALL_ENTRY( 0x015e, NtUserRedrawWindow, 16 ) \
SYSCALL_ENTRY( 0x015f, NtUserRegisterHotKey, 16 ) \ SYSCALL_ENTRY( 0x015f, NtUserRegisterClassExWOW, 28 ) \
SYSCALL_ENTRY( 0x0160, NtUserRegisterRawInputDevices, 12 ) \ SYSCALL_ENTRY( 0x0160, NtUserRegisterHotKey, 16 ) \
SYSCALL_ENTRY( 0x0161, NtUserRegisterTouchPadCapable, 4 ) \ SYSCALL_ENTRY( 0x0161, NtUserRegisterRawInputDevices, 12 ) \
SYSCALL_ENTRY( 0x0162, NtUserReleaseDC, 8 ) \ SYSCALL_ENTRY( 0x0162, NtUserRegisterTouchPadCapable, 4 ) \
SYSCALL_ENTRY( 0x0163, NtUserRemoveClipboardFormatListener, 4 ) \ SYSCALL_ENTRY( 0x0163, NtUserReleaseDC, 8 ) \
SYSCALL_ENTRY( 0x0164, NtUserRemoveMenu, 12 ) \ SYSCALL_ENTRY( 0x0164, NtUserRemoveClipboardFormatListener, 4 ) \
SYSCALL_ENTRY( 0x0165, NtUserRemoveProp, 8 ) \ SYSCALL_ENTRY( 0x0165, NtUserRemoveMenu, 12 ) \
SYSCALL_ENTRY( 0x0166, NtUserScrollDC, 28 ) \ SYSCALL_ENTRY( 0x0166, NtUserRemoveProp, 8 ) \
SYSCALL_ENTRY( 0x0167, NtUserScrollWindowEx, 32 ) \ SYSCALL_ENTRY( 0x0167, NtUserScrollDC, 28 ) \
SYSCALL_ENTRY( 0x0168, NtUserSelectPalette, 12 ) \ SYSCALL_ENTRY( 0x0168, NtUserScrollWindowEx, 32 ) \
SYSCALL_ENTRY( 0x0169, NtUserSendInput, 12 ) \ SYSCALL_ENTRY( 0x0169, NtUserSelectPalette, 12 ) \
SYSCALL_ENTRY( 0x016a, NtUserSetActiveWindow, 4 ) \ SYSCALL_ENTRY( 0x016a, NtUserSendInput, 12 ) \
SYSCALL_ENTRY( 0x016b, NtUserSetCapture, 4 ) \ SYSCALL_ENTRY( 0x016b, NtUserSetActiveWindow, 4 ) \
SYSCALL_ENTRY( 0x016c, NtUserSetClassLong, 16 ) \ SYSCALL_ENTRY( 0x016c, NtUserSetCapture, 4 ) \
SYSCALL_ENTRY( 0x016d, NtUserSetClassLongPtr, 16 ) \ SYSCALL_ENTRY( 0x016d, NtUserSetClassLong, 16 ) \
SYSCALL_ENTRY( 0x016e, NtUserSetClassWord, 12 ) \ SYSCALL_ENTRY( 0x016e, NtUserSetClassLongPtr, 16 ) \
SYSCALL_ENTRY( 0x016f, NtUserSetClipboardData, 12 ) \ SYSCALL_ENTRY( 0x016f, NtUserSetClassWord, 12 ) \
SYSCALL_ENTRY( 0x0170, NtUserSetClipboardViewer, 4 ) \ SYSCALL_ENTRY( 0x0170, NtUserSetClipboardData, 12 ) \
SYSCALL_ENTRY( 0x0171, NtUserSetCursor, 4 ) \ SYSCALL_ENTRY( 0x0171, NtUserSetClipboardViewer, 4 ) \
SYSCALL_ENTRY( 0x0172, NtUserSetCursorIconData, 16 ) \ SYSCALL_ENTRY( 0x0172, NtUserSetCursor, 4 ) \
SYSCALL_ENTRY( 0x0173, NtUserSetCursorPos, 8 ) \ SYSCALL_ENTRY( 0x0173, NtUserSetCursorIconData, 16 ) \
SYSCALL_ENTRY( 0x0174, NtUserSetFocus, 4 ) \ SYSCALL_ENTRY( 0x0174, NtUserSetCursorPos, 8 ) \
SYSCALL_ENTRY( 0x0175, NtUserSetInternalWindowPos, 16 ) \ SYSCALL_ENTRY( 0x0175, NtUserSetFocus, 4 ) \
SYSCALL_ENTRY( 0x0176, NtUserSetKeyboardState, 4 ) \ SYSCALL_ENTRY( 0x0176, NtUserSetInternalWindowPos, 16 ) \
SYSCALL_ENTRY( 0x0177, NtUserSetLayeredWindowAttributes, 16 ) \ SYSCALL_ENTRY( 0x0177, NtUserSetKeyboardState, 4 ) \
SYSCALL_ENTRY( 0x0178, NtUserSetMenu, 8 ) \ SYSCALL_ENTRY( 0x0178, NtUserSetLayeredWindowAttributes, 16 ) \
SYSCALL_ENTRY( 0x0179, NtUserSetMenuContextHelpId, 8 ) \ SYSCALL_ENTRY( 0x0179, NtUserSetMenu, 8 ) \
SYSCALL_ENTRY( 0x017a, NtUserSetMenuDefaultItem, 12 ) \ SYSCALL_ENTRY( 0x017a, NtUserSetMenuContextHelpId, 8 ) \
SYSCALL_ENTRY( 0x017b, NtUserSetObjectInformation, 16 ) \ SYSCALL_ENTRY( 0x017b, NtUserSetMenuDefaultItem, 12 ) \
SYSCALL_ENTRY( 0x017c, NtUserSetParent, 8 ) \ SYSCALL_ENTRY( 0x017c, NtUserSetObjectInformation, 16 ) \
SYSCALL_ENTRY( 0x017d, NtUserSetProcessDpiAwarenessContext, 8 ) \ SYSCALL_ENTRY( 0x017d, NtUserSetParent, 8 ) \
SYSCALL_ENTRY( 0x017e, NtUserSetProcessWindowStation, 4 ) \ SYSCALL_ENTRY( 0x017e, NtUserSetProcessDpiAwarenessContext, 8 ) \
SYSCALL_ENTRY( 0x017f, NtUserSetProp, 12 ) \ SYSCALL_ENTRY( 0x017f, NtUserSetProcessWindowStation, 4 ) \
SYSCALL_ENTRY( 0x0180, NtUserSetScrollInfo, 16 ) \ SYSCALL_ENTRY( 0x0180, NtUserSetProp, 12 ) \
SYSCALL_ENTRY( 0x0181, NtUserSetShellWindowEx, 8 ) \ SYSCALL_ENTRY( 0x0181, NtUserSetScrollInfo, 16 ) \
SYSCALL_ENTRY( 0x0182, NtUserSetSysColors, 12 ) \ SYSCALL_ENTRY( 0x0182, NtUserSetShellWindowEx, 8 ) \
SYSCALL_ENTRY( 0x0183, NtUserSetSystemMenu, 8 ) \ SYSCALL_ENTRY( 0x0183, NtUserSetSysColors, 12 ) \
SYSCALL_ENTRY( 0x0184, NtUserSetSystemTimer, 12 ) \ SYSCALL_ENTRY( 0x0184, NtUserSetSystemMenu, 8 ) \
SYSCALL_ENTRY( 0x0185, NtUserSetThreadDesktop, 4 ) \ SYSCALL_ENTRY( 0x0185, NtUserSetSystemTimer, 12 ) \
SYSCALL_ENTRY( 0x0186, NtUserSetTimer, 20 ) \ SYSCALL_ENTRY( 0x0186, NtUserSetThreadDesktop, 4 ) \
SYSCALL_ENTRY( 0x0187, NtUserSetWinEventHook, 32 ) \ SYSCALL_ENTRY( 0x0187, NtUserSetTimer, 20 ) \
SYSCALL_ENTRY( 0x0188, NtUserSetWindowLong, 16 ) \ SYSCALL_ENTRY( 0x0188, NtUserSetWinEventHook, 32 ) \
SYSCALL_ENTRY( 0x0189, NtUserSetWindowLongPtr, 16 ) \ SYSCALL_ENTRY( 0x0189, NtUserSetWindowLong, 16 ) \
SYSCALL_ENTRY( 0x018a, NtUserSetWindowPlacement, 8 ) \ SYSCALL_ENTRY( 0x018a, NtUserSetWindowLongPtr, 16 ) \
SYSCALL_ENTRY( 0x018b, NtUserSetWindowPos, 28 ) \ SYSCALL_ENTRY( 0x018b, NtUserSetWindowPlacement, 8 ) \
SYSCALL_ENTRY( 0x018c, NtUserSetWindowRgn, 12 ) \ SYSCALL_ENTRY( 0x018c, NtUserSetWindowPos, 28 ) \
SYSCALL_ENTRY( 0x018d, NtUserSetWindowWord, 12 ) \ SYSCALL_ENTRY( 0x018d, NtUserSetWindowRgn, 12 ) \
SYSCALL_ENTRY( 0x018e, NtUserSetWindowsHookEx, 24 ) \ SYSCALL_ENTRY( 0x018e, NtUserSetWindowWord, 12 ) \
SYSCALL_ENTRY( 0x018f, NtUserShowCaret, 4 ) \ SYSCALL_ENTRY( 0x018f, NtUserSetWindowsHookEx, 24 ) \
SYSCALL_ENTRY( 0x0190, NtUserShowCursor, 4 ) \ SYSCALL_ENTRY( 0x0190, NtUserShowCaret, 4 ) \
SYSCALL_ENTRY( 0x0191, NtUserShowScrollBar, 12 ) \ SYSCALL_ENTRY( 0x0191, NtUserShowCursor, 4 ) \
SYSCALL_ENTRY( 0x0192, NtUserShowWindow, 8 ) \ SYSCALL_ENTRY( 0x0192, NtUserShowScrollBar, 12 ) \
SYSCALL_ENTRY( 0x0193, NtUserShowWindowAsync, 8 ) \ SYSCALL_ENTRY( 0x0193, NtUserShowWindow, 8 ) \
SYSCALL_ENTRY( 0x0194, NtUserSwitchDesktop, 4 ) \ SYSCALL_ENTRY( 0x0194, NtUserShowWindowAsync, 8 ) \
SYSCALL_ENTRY( 0x0195, NtUserSystemParametersInfo, 16 ) \ SYSCALL_ENTRY( 0x0195, NtUserSwitchDesktop, 4 ) \
SYSCALL_ENTRY( 0x0196, NtUserSystemParametersInfoForDpi, 20 ) \ SYSCALL_ENTRY( 0x0196, NtUserSystemParametersInfo, 16 ) \
SYSCALL_ENTRY( 0x0197, NtUserThunkedMenuInfo, 8 ) \ SYSCALL_ENTRY( 0x0197, NtUserSystemParametersInfoForDpi, 20 ) \
SYSCALL_ENTRY( 0x0198, NtUserThunkedMenuItemInfo, 24 ) \ SYSCALL_ENTRY( 0x0198, NtUserThunkedMenuInfo, 8 ) \
SYSCALL_ENTRY( 0x0199, NtUserToUnicodeEx, 28 ) \ SYSCALL_ENTRY( 0x0199, NtUserThunkedMenuItemInfo, 24 ) \
SYSCALL_ENTRY( 0x019a, NtUserTrackMouseEvent, 4 ) \ SYSCALL_ENTRY( 0x019a, NtUserToUnicodeEx, 28 ) \
SYSCALL_ENTRY( 0x019b, NtUserTrackPopupMenuEx, 24 ) \ SYSCALL_ENTRY( 0x019b, NtUserTrackMouseEvent, 4 ) \
SYSCALL_ENTRY( 0x019c, NtUserTranslateAccelerator, 12 ) \ SYSCALL_ENTRY( 0x019c, NtUserTrackPopupMenuEx, 24 ) \
SYSCALL_ENTRY( 0x019d, NtUserTranslateMessage, 8 ) \ SYSCALL_ENTRY( 0x019d, NtUserTranslateAccelerator, 12 ) \
SYSCALL_ENTRY( 0x019e, NtUserUnhookWinEvent, 4 ) \ SYSCALL_ENTRY( 0x019e, NtUserTranslateMessage, 8 ) \
SYSCALL_ENTRY( 0x019f, NtUserUnhookWindowsHookEx, 4 ) \ SYSCALL_ENTRY( 0x019f, NtUserUnhookWinEvent, 4 ) \
SYSCALL_ENTRY( 0x01a0, NtUserUnregisterClass, 12 ) \ SYSCALL_ENTRY( 0x01a0, NtUserUnhookWindowsHookEx, 4 ) \
SYSCALL_ENTRY( 0x01a1, NtUserUnregisterHotKey, 8 ) \ SYSCALL_ENTRY( 0x01a1, NtUserUnregisterClass, 12 ) \
SYSCALL_ENTRY( 0x01a2, NtUserUpdateInputContext, 12 ) \ SYSCALL_ENTRY( 0x01a2, NtUserUnregisterHotKey, 8 ) \
SYSCALL_ENTRY( 0x01a3, NtUserUpdateLayeredWindow, 40 ) \ SYSCALL_ENTRY( 0x01a3, NtUserUpdateInputContext, 12 ) \
SYSCALL_ENTRY( 0x01a4, NtUserValidateRect, 8 ) \ SYSCALL_ENTRY( 0x01a4, NtUserUpdateLayeredWindow, 40 ) \
SYSCALL_ENTRY( 0x01a5, NtUserVkKeyScanEx, 8 ) \ SYSCALL_ENTRY( 0x01a5, NtUserValidateRect, 8 ) \
SYSCALL_ENTRY( 0x01a6, NtUserWaitForInputIdle, 12 ) \ SYSCALL_ENTRY( 0x01a6, NtUserVkKeyScanEx, 8 ) \
SYSCALL_ENTRY( 0x01a7, NtUserWaitMessage, 0 ) \ SYSCALL_ENTRY( 0x01a7, NtUserWaitForInputIdle, 12 ) \
SYSCALL_ENTRY( 0x01a8, NtUserWindowFromDC, 4 ) \ SYSCALL_ENTRY( 0x01a8, NtUserWaitMessage, 0 ) \
SYSCALL_ENTRY( 0x01a9, NtUserWindowFromPoint, 8 ) \ SYSCALL_ENTRY( 0x01a9, NtUserWindowFromDC, 4 ) \
SYSCALL_ENTRY( 0x01aa, __wine_get_file_outline_text_metric, 16 ) \ SYSCALL_ENTRY( 0x01aa, NtUserWindowFromPoint, 8 ) \
SYSCALL_ENTRY( 0x01ab, __wine_get_icm_profile, 16 ) SYSCALL_ENTRY( 0x01ab, __wine_get_file_outline_text_metric, 16 ) \
SYSCALL_ENTRY( 0x01ac, __wine_get_icm_profile, 16 )
#define ALL_SYSCALLS64 \ #define ALL_SYSCALLS64 \
SYSCALL_ENTRY( 0x0000, NtGdiAbortDoc, 8 ) \ SYSCALL_ENTRY( 0x0000, NtGdiAbortDoc, 8 ) \
@ -636,226 +637,227 @@
SYSCALL_ENTRY( 0x00ca, NtUserBeginPaint, 16 ) \ SYSCALL_ENTRY( 0x00ca, NtUserBeginPaint, 16 ) \
SYSCALL_ENTRY( 0x00cb, NtUserBuildHimcList, 32 ) \ SYSCALL_ENTRY( 0x00cb, NtUserBuildHimcList, 32 ) \
SYSCALL_ENTRY( 0x00cc, NtUserBuildHwndList, 64 ) \ SYSCALL_ENTRY( 0x00cc, NtUserBuildHwndList, 64 ) \
SYSCALL_ENTRY( 0x00cd, NtUserCallHwnd, 16 ) \ SYSCALL_ENTRY( 0x00cd, NtUserBuildPropList, 32 ) \
SYSCALL_ENTRY( 0x00ce, NtUserCallHwndParam, 24 ) \ SYSCALL_ENTRY( 0x00ce, NtUserCallHwnd, 16 ) \
SYSCALL_ENTRY( 0x00cf, NtUserCallMsgFilter, 16 ) \ SYSCALL_ENTRY( 0x00cf, NtUserCallHwndParam, 24 ) \
SYSCALL_ENTRY( 0x00d0, NtUserCallNextHookEx, 32 ) \ SYSCALL_ENTRY( 0x00d0, NtUserCallMsgFilter, 16 ) \
SYSCALL_ENTRY( 0x00d1, NtUserCallNoParam, 8 ) \ SYSCALL_ENTRY( 0x00d1, NtUserCallNextHookEx, 32 ) \
SYSCALL_ENTRY( 0x00d2, NtUserCallOneParam, 16 ) \ SYSCALL_ENTRY( 0x00d2, NtUserCallNoParam, 8 ) \
SYSCALL_ENTRY( 0x00d3, NtUserCallTwoParam, 24 ) \ SYSCALL_ENTRY( 0x00d3, NtUserCallOneParam, 16 ) \
SYSCALL_ENTRY( 0x00d4, NtUserChangeClipboardChain, 16 ) \ SYSCALL_ENTRY( 0x00d4, NtUserCallTwoParam, 24 ) \
SYSCALL_ENTRY( 0x00d5, NtUserChangeDisplaySettings, 40 ) \ SYSCALL_ENTRY( 0x00d5, NtUserChangeClipboardChain, 16 ) \
SYSCALL_ENTRY( 0x00d6, NtUserCheckMenuItem, 24 ) \ SYSCALL_ENTRY( 0x00d6, NtUserChangeDisplaySettings, 40 ) \
SYSCALL_ENTRY( 0x00d7, NtUserChildWindowFromPointEx, 32 ) \ SYSCALL_ENTRY( 0x00d7, NtUserCheckMenuItem, 24 ) \
SYSCALL_ENTRY( 0x00d8, NtUserClipCursor, 8 ) \ SYSCALL_ENTRY( 0x00d8, NtUserChildWindowFromPointEx, 32 ) \
SYSCALL_ENTRY( 0x00d9, NtUserCloseClipboard, 0 ) \ SYSCALL_ENTRY( 0x00d9, NtUserClipCursor, 8 ) \
SYSCALL_ENTRY( 0x00da, NtUserCloseDesktop, 8 ) \ SYSCALL_ENTRY( 0x00da, NtUserCloseClipboard, 0 ) \
SYSCALL_ENTRY( 0x00db, NtUserCloseWindowStation, 8 ) \ SYSCALL_ENTRY( 0x00db, NtUserCloseDesktop, 8 ) \
SYSCALL_ENTRY( 0x00dc, NtUserCopyAcceleratorTable, 24 ) \ SYSCALL_ENTRY( 0x00dc, NtUserCloseWindowStation, 8 ) \
SYSCALL_ENTRY( 0x00dd, NtUserCountClipboardFormats, 0 ) \ SYSCALL_ENTRY( 0x00dd, NtUserCopyAcceleratorTable, 24 ) \
SYSCALL_ENTRY( 0x00de, NtUserCreateAcceleratorTable, 16 ) \ SYSCALL_ENTRY( 0x00de, NtUserCountClipboardFormats, 0 ) \
SYSCALL_ENTRY( 0x00df, NtUserCreateCaret, 32 ) \ SYSCALL_ENTRY( 0x00df, NtUserCreateAcceleratorTable, 16 ) \
SYSCALL_ENTRY( 0x00e0, NtUserCreateDesktopEx, 48 ) \ SYSCALL_ENTRY( 0x00e0, NtUserCreateCaret, 32 ) \
SYSCALL_ENTRY( 0x00e1, NtUserCreateInputContext, 8 ) \ SYSCALL_ENTRY( 0x00e1, NtUserCreateDesktopEx, 48 ) \
SYSCALL_ENTRY( 0x00e2, NtUserCreateWindowEx, 136 ) \ SYSCALL_ENTRY( 0x00e2, NtUserCreateInputContext, 8 ) \
SYSCALL_ENTRY( 0x00e3, NtUserCreateWindowStation, 56 ) \ SYSCALL_ENTRY( 0x00e3, NtUserCreateWindowEx, 136 ) \
SYSCALL_ENTRY( 0x00e4, NtUserDeferWindowPosAndBand, 80 ) \ SYSCALL_ENTRY( 0x00e4, NtUserCreateWindowStation, 56 ) \
SYSCALL_ENTRY( 0x00e5, NtUserDeleteMenu, 24 ) \ SYSCALL_ENTRY( 0x00e5, NtUserDeferWindowPosAndBand, 80 ) \
SYSCALL_ENTRY( 0x00e6, NtUserDestroyAcceleratorTable, 8 ) \ SYSCALL_ENTRY( 0x00e6, NtUserDeleteMenu, 24 ) \
SYSCALL_ENTRY( 0x00e7, NtUserDestroyCursor, 16 ) \ SYSCALL_ENTRY( 0x00e7, NtUserDestroyAcceleratorTable, 8 ) \
SYSCALL_ENTRY( 0x00e8, NtUserDestroyInputContext, 8 ) \ SYSCALL_ENTRY( 0x00e8, NtUserDestroyCursor, 16 ) \
SYSCALL_ENTRY( 0x00e9, NtUserDestroyMenu, 8 ) \ SYSCALL_ENTRY( 0x00e9, NtUserDestroyInputContext, 8 ) \
SYSCALL_ENTRY( 0x00ea, NtUserDestroyWindow, 8 ) \ SYSCALL_ENTRY( 0x00ea, NtUserDestroyMenu, 8 ) \
SYSCALL_ENTRY( 0x00eb, NtUserDisableThreadIme, 8 ) \ SYSCALL_ENTRY( 0x00eb, NtUserDestroyWindow, 8 ) \
SYSCALL_ENTRY( 0x00ec, NtUserDispatchMessage, 8 ) \ SYSCALL_ENTRY( 0x00ec, NtUserDisableThreadIme, 8 ) \
SYSCALL_ENTRY( 0x00ed, NtUserDisplayConfigGetDeviceInfo, 8 ) \ SYSCALL_ENTRY( 0x00ed, NtUserDispatchMessage, 8 ) \
SYSCALL_ENTRY( 0x00ee, NtUserDragDetect, 24 ) \ SYSCALL_ENTRY( 0x00ee, NtUserDisplayConfigGetDeviceInfo, 8 ) \
SYSCALL_ENTRY( 0x00ef, NtUserDragObject, 40 ) \ SYSCALL_ENTRY( 0x00ef, NtUserDragDetect, 24 ) \
SYSCALL_ENTRY( 0x00f0, NtUserDrawCaptionTemp, 56 ) \ SYSCALL_ENTRY( 0x00f0, NtUserDragObject, 40 ) \
SYSCALL_ENTRY( 0x00f1, NtUserDrawIconEx, 72 ) \ SYSCALL_ENTRY( 0x00f1, NtUserDrawCaptionTemp, 56 ) \
SYSCALL_ENTRY( 0x00f2, NtUserDrawMenuBarTemp, 40 ) \ SYSCALL_ENTRY( 0x00f2, NtUserDrawIconEx, 72 ) \
SYSCALL_ENTRY( 0x00f3, NtUserEmptyClipboard, 0 ) \ SYSCALL_ENTRY( 0x00f3, NtUserDrawMenuBarTemp, 40 ) \
SYSCALL_ENTRY( 0x00f4, NtUserEnableMenuItem, 24 ) \ SYSCALL_ENTRY( 0x00f4, NtUserEmptyClipboard, 0 ) \
SYSCALL_ENTRY( 0x00f5, NtUserEnableMouseInPointer, 8 ) \ SYSCALL_ENTRY( 0x00f5, NtUserEnableMenuItem, 24 ) \
SYSCALL_ENTRY( 0x00f6, NtUserEnableMouseInPointerForThread, 0 ) \ SYSCALL_ENTRY( 0x00f6, NtUserEnableMouseInPointer, 8 ) \
SYSCALL_ENTRY( 0x00f7, NtUserEnableScrollBar, 24 ) \ SYSCALL_ENTRY( 0x00f7, NtUserEnableMouseInPointerForThread, 0 ) \
SYSCALL_ENTRY( 0x00f8, NtUserEndDeferWindowPosEx, 16 ) \ SYSCALL_ENTRY( 0x00f8, NtUserEnableScrollBar, 24 ) \
SYSCALL_ENTRY( 0x00f9, NtUserEndMenu, 0 ) \ SYSCALL_ENTRY( 0x00f9, NtUserEndDeferWindowPosEx, 16 ) \
SYSCALL_ENTRY( 0x00fa, NtUserEndPaint, 16 ) \ SYSCALL_ENTRY( 0x00fa, NtUserEndMenu, 0 ) \
SYSCALL_ENTRY( 0x00fb, NtUserEnumDisplayDevices, 32 ) \ SYSCALL_ENTRY( 0x00fb, NtUserEndPaint, 16 ) \
SYSCALL_ENTRY( 0x00fc, NtUserEnumDisplayMonitors, 32 ) \ SYSCALL_ENTRY( 0x00fc, NtUserEnumDisplayDevices, 32 ) \
SYSCALL_ENTRY( 0x00fd, NtUserEnumDisplaySettings, 32 ) \ SYSCALL_ENTRY( 0x00fd, NtUserEnumDisplayMonitors, 32 ) \
SYSCALL_ENTRY( 0x00fe, NtUserExcludeUpdateRgn, 16 ) \ SYSCALL_ENTRY( 0x00fe, NtUserEnumDisplaySettings, 32 ) \
SYSCALL_ENTRY( 0x00ff, NtUserFindExistingCursorIcon, 24 ) \ SYSCALL_ENTRY( 0x00ff, NtUserExcludeUpdateRgn, 16 ) \
SYSCALL_ENTRY( 0x0100, NtUserFindWindowEx, 40 ) \ SYSCALL_ENTRY( 0x0100, NtUserFindExistingCursorIcon, 24 ) \
SYSCALL_ENTRY( 0x0101, NtUserFlashWindowEx, 8 ) \ SYSCALL_ENTRY( 0x0101, NtUserFindWindowEx, 40 ) \
SYSCALL_ENTRY( 0x0102, NtUserGetAncestor, 16 ) \ SYSCALL_ENTRY( 0x0102, NtUserFlashWindowEx, 8 ) \
SYSCALL_ENTRY( 0x0103, NtUserGetAsyncKeyState, 8 ) \ SYSCALL_ENTRY( 0x0103, NtUserGetAncestor, 16 ) \
SYSCALL_ENTRY( 0x0104, NtUserGetAtomName, 16 ) \ SYSCALL_ENTRY( 0x0104, NtUserGetAsyncKeyState, 8 ) \
SYSCALL_ENTRY( 0x0105, NtUserGetCaretBlinkTime, 0 ) \ SYSCALL_ENTRY( 0x0105, NtUserGetAtomName, 16 ) \
SYSCALL_ENTRY( 0x0106, NtUserGetCaretPos, 8 ) \ SYSCALL_ENTRY( 0x0106, NtUserGetCaretBlinkTime, 0 ) \
SYSCALL_ENTRY( 0x0107, NtUserGetClassInfoEx, 40 ) \ SYSCALL_ENTRY( 0x0107, NtUserGetCaretPos, 8 ) \
SYSCALL_ENTRY( 0x0108, NtUserGetClassName, 24 ) \ SYSCALL_ENTRY( 0x0108, NtUserGetClassInfoEx, 40 ) \
SYSCALL_ENTRY( 0x0109, NtUserGetClipboardData, 16 ) \ SYSCALL_ENTRY( 0x0109, NtUserGetClassName, 24 ) \
SYSCALL_ENTRY( 0x010a, NtUserGetClipboardFormatName, 24 ) \ SYSCALL_ENTRY( 0x010a, NtUserGetClipboardData, 16 ) \
SYSCALL_ENTRY( 0x010b, NtUserGetClipboardOwner, 0 ) \ SYSCALL_ENTRY( 0x010b, NtUserGetClipboardFormatName, 24 ) \
SYSCALL_ENTRY( 0x010c, NtUserGetClipboardSequenceNumber, 0 ) \ SYSCALL_ENTRY( 0x010c, NtUserGetClipboardOwner, 0 ) \
SYSCALL_ENTRY( 0x010d, NtUserGetClipboardViewer, 0 ) \ SYSCALL_ENTRY( 0x010d, NtUserGetClipboardSequenceNumber, 0 ) \
SYSCALL_ENTRY( 0x010e, NtUserGetCursor, 0 ) \ SYSCALL_ENTRY( 0x010e, NtUserGetClipboardViewer, 0 ) \
SYSCALL_ENTRY( 0x010f, NtUserGetCursorFrameInfo, 32 ) \ SYSCALL_ENTRY( 0x010f, NtUserGetCursor, 0 ) \
SYSCALL_ENTRY( 0x0110, NtUserGetCursorInfo, 8 ) \ SYSCALL_ENTRY( 0x0110, NtUserGetCursorFrameInfo, 32 ) \
SYSCALL_ENTRY( 0x0111, NtUserGetDC, 8 ) \ SYSCALL_ENTRY( 0x0111, NtUserGetCursorInfo, 8 ) \
SYSCALL_ENTRY( 0x0112, NtUserGetDCEx, 24 ) \ SYSCALL_ENTRY( 0x0112, NtUserGetDC, 8 ) \
SYSCALL_ENTRY( 0x0113, NtUserGetDisplayConfigBufferSizes, 24 ) \ SYSCALL_ENTRY( 0x0113, NtUserGetDCEx, 24 ) \
SYSCALL_ENTRY( 0x0114, NtUserGetDoubleClickTime, 0 ) \ SYSCALL_ENTRY( 0x0114, NtUserGetDisplayConfigBufferSizes, 24 ) \
SYSCALL_ENTRY( 0x0115, NtUserGetDpiForMonitor, 32 ) \ SYSCALL_ENTRY( 0x0115, NtUserGetDoubleClickTime, 0 ) \
SYSCALL_ENTRY( 0x0116, NtUserGetForegroundWindow, 0 ) \ SYSCALL_ENTRY( 0x0116, NtUserGetDpiForMonitor, 32 ) \
SYSCALL_ENTRY( 0x0117, NtUserGetGUIThreadInfo, 16 ) \ SYSCALL_ENTRY( 0x0117, NtUserGetForegroundWindow, 0 ) \
SYSCALL_ENTRY( 0x0118, NtUserGetIconInfo, 48 ) \ SYSCALL_ENTRY( 0x0118, NtUserGetGUIThreadInfo, 16 ) \
SYSCALL_ENTRY( 0x0119, NtUserGetIconSize, 32 ) \ SYSCALL_ENTRY( 0x0119, NtUserGetIconInfo, 48 ) \
SYSCALL_ENTRY( 0x011a, NtUserGetInternalWindowPos, 24 ) \ SYSCALL_ENTRY( 0x011a, NtUserGetIconSize, 32 ) \
SYSCALL_ENTRY( 0x011b, NtUserGetKeyNameText, 24 ) \ SYSCALL_ENTRY( 0x011b, NtUserGetInternalWindowPos, 24 ) \
SYSCALL_ENTRY( 0x011c, NtUserGetKeyState, 8 ) \ SYSCALL_ENTRY( 0x011c, NtUserGetKeyNameText, 24 ) \
SYSCALL_ENTRY( 0x011d, NtUserGetKeyboardLayout, 8 ) \ SYSCALL_ENTRY( 0x011d, NtUserGetKeyState, 8 ) \
SYSCALL_ENTRY( 0x011e, NtUserGetKeyboardLayoutList, 16 ) \ SYSCALL_ENTRY( 0x011e, NtUserGetKeyboardLayout, 8 ) \
SYSCALL_ENTRY( 0x011f, NtUserGetKeyboardLayoutName, 8 ) \ SYSCALL_ENTRY( 0x011f, NtUserGetKeyboardLayoutList, 16 ) \
SYSCALL_ENTRY( 0x0120, NtUserGetKeyboardState, 8 ) \ SYSCALL_ENTRY( 0x0120, NtUserGetKeyboardLayoutName, 8 ) \
SYSCALL_ENTRY( 0x0121, NtUserGetLayeredWindowAttributes, 32 ) \ SYSCALL_ENTRY( 0x0121, NtUserGetKeyboardState, 8 ) \
SYSCALL_ENTRY( 0x0122, NtUserGetMenuBarInfo, 32 ) \ SYSCALL_ENTRY( 0x0122, NtUserGetLayeredWindowAttributes, 32 ) \
SYSCALL_ENTRY( 0x0123, NtUserGetMenuItemRect, 32 ) \ SYSCALL_ENTRY( 0x0123, NtUserGetMenuBarInfo, 32 ) \
SYSCALL_ENTRY( 0x0124, NtUserGetMessage, 32 ) \ SYSCALL_ENTRY( 0x0124, NtUserGetMenuItemRect, 32 ) \
SYSCALL_ENTRY( 0x0125, NtUserGetMouseMovePointsEx, 40 ) \ SYSCALL_ENTRY( 0x0125, NtUserGetMessage, 32 ) \
SYSCALL_ENTRY( 0x0126, NtUserGetObjectInformation, 40 ) \ SYSCALL_ENTRY( 0x0126, NtUserGetMouseMovePointsEx, 40 ) \
SYSCALL_ENTRY( 0x0127, NtUserGetOpenClipboardWindow, 0 ) \ SYSCALL_ENTRY( 0x0127, NtUserGetObjectInformation, 40 ) \
SYSCALL_ENTRY( 0x0128, NtUserGetPointerInfoList, 64 ) \ SYSCALL_ENTRY( 0x0128, NtUserGetOpenClipboardWindow, 0 ) \
SYSCALL_ENTRY( 0x0129, NtUserGetPriorityClipboardFormat, 16 ) \ SYSCALL_ENTRY( 0x0129, NtUserGetPointerInfoList, 64 ) \
SYSCALL_ENTRY( 0x012a, NtUserGetProcessDpiAwarenessContext, 8 ) \ SYSCALL_ENTRY( 0x012a, NtUserGetPriorityClipboardFormat, 16 ) \
SYSCALL_ENTRY( 0x012b, NtUserGetProcessWindowStation, 0 ) \ SYSCALL_ENTRY( 0x012b, NtUserGetProcessDpiAwarenessContext, 8 ) \
SYSCALL_ENTRY( 0x012c, NtUserGetProp, 16 ) \ SYSCALL_ENTRY( 0x012c, NtUserGetProcessWindowStation, 0 ) \
SYSCALL_ENTRY( 0x012d, NtUserGetQueueStatus, 8 ) \ SYSCALL_ENTRY( 0x012d, NtUserGetProp, 16 ) \
SYSCALL_ENTRY( 0x012e, NtUserGetRawInputBuffer, 24 ) \ SYSCALL_ENTRY( 0x012e, NtUserGetQueueStatus, 8 ) \
SYSCALL_ENTRY( 0x012f, NtUserGetRawInputData, 40 ) \ SYSCALL_ENTRY( 0x012f, NtUserGetRawInputBuffer, 24 ) \
SYSCALL_ENTRY( 0x0130, NtUserGetRawInputDeviceInfo, 32 ) \ SYSCALL_ENTRY( 0x0130, NtUserGetRawInputData, 40 ) \
SYSCALL_ENTRY( 0x0131, NtUserGetRawInputDeviceList, 24 ) \ SYSCALL_ENTRY( 0x0131, NtUserGetRawInputDeviceInfo, 32 ) \
SYSCALL_ENTRY( 0x0132, NtUserGetRegisteredRawInputDevices, 24 ) \ SYSCALL_ENTRY( 0x0132, NtUserGetRawInputDeviceList, 24 ) \
SYSCALL_ENTRY( 0x0133, NtUserGetScrollBarInfo, 24 ) \ SYSCALL_ENTRY( 0x0133, NtUserGetRegisteredRawInputDevices, 24 ) \
SYSCALL_ENTRY( 0x0134, NtUserGetSystemDpiForProcess, 8 ) \ SYSCALL_ENTRY( 0x0134, NtUserGetScrollBarInfo, 24 ) \
SYSCALL_ENTRY( 0x0135, NtUserGetSystemMenu, 16 ) \ SYSCALL_ENTRY( 0x0135, NtUserGetSystemDpiForProcess, 8 ) \
SYSCALL_ENTRY( 0x0136, NtUserGetThreadDesktop, 8 ) \ SYSCALL_ENTRY( 0x0136, NtUserGetSystemMenu, 16 ) \
SYSCALL_ENTRY( 0x0137, NtUserGetTitleBarInfo, 16 ) \ SYSCALL_ENTRY( 0x0137, NtUserGetThreadDesktop, 8 ) \
SYSCALL_ENTRY( 0x0138, NtUserGetUpdateRect, 24 ) \ SYSCALL_ENTRY( 0x0138, NtUserGetTitleBarInfo, 16 ) \
SYSCALL_ENTRY( 0x0139, NtUserGetUpdateRgn, 24 ) \ SYSCALL_ENTRY( 0x0139, NtUserGetUpdateRect, 24 ) \
SYSCALL_ENTRY( 0x013a, NtUserGetUpdatedClipboardFormats, 24 ) \ SYSCALL_ENTRY( 0x013a, NtUserGetUpdateRgn, 24 ) \
SYSCALL_ENTRY( 0x013b, NtUserGetWindowDC, 8 ) \ SYSCALL_ENTRY( 0x013b, NtUserGetUpdatedClipboardFormats, 24 ) \
SYSCALL_ENTRY( 0x013c, NtUserGetWindowPlacement, 16 ) \ SYSCALL_ENTRY( 0x013c, NtUserGetWindowDC, 8 ) \
SYSCALL_ENTRY( 0x013d, NtUserGetWindowRgnEx, 24 ) \ SYSCALL_ENTRY( 0x013d, NtUserGetWindowPlacement, 16 ) \
SYSCALL_ENTRY( 0x013e, NtUserHideCaret, 8 ) \ SYSCALL_ENTRY( 0x013e, NtUserGetWindowRgnEx, 24 ) \
SYSCALL_ENTRY( 0x013f, NtUserHiliteMenuItem, 32 ) \ SYSCALL_ENTRY( 0x013f, NtUserHideCaret, 8 ) \
SYSCALL_ENTRY( 0x0140, NtUserInitializeClientPfnArrays, 32 ) \ SYSCALL_ENTRY( 0x0140, NtUserHiliteMenuItem, 32 ) \
SYSCALL_ENTRY( 0x0141, NtUserInternalGetWindowIcon, 16 ) \ SYSCALL_ENTRY( 0x0141, NtUserInitializeClientPfnArrays, 32 ) \
SYSCALL_ENTRY( 0x0142, NtUserInternalGetWindowText, 24 ) \ SYSCALL_ENTRY( 0x0142, NtUserInternalGetWindowIcon, 16 ) \
SYSCALL_ENTRY( 0x0143, NtUserInvalidateRect, 24 ) \ SYSCALL_ENTRY( 0x0143, NtUserInternalGetWindowText, 24 ) \
SYSCALL_ENTRY( 0x0144, NtUserInvalidateRgn, 24 ) \ SYSCALL_ENTRY( 0x0144, NtUserInvalidateRect, 24 ) \
SYSCALL_ENTRY( 0x0145, NtUserIsClipboardFormatAvailable, 8 ) \ SYSCALL_ENTRY( 0x0145, NtUserInvalidateRgn, 24 ) \
SYSCALL_ENTRY( 0x0146, NtUserIsMouseInPointerEnabled, 0 ) \ SYSCALL_ENTRY( 0x0146, NtUserIsClipboardFormatAvailable, 8 ) \
SYSCALL_ENTRY( 0x0147, NtUserKillTimer, 16 ) \ SYSCALL_ENTRY( 0x0147, NtUserIsMouseInPointerEnabled, 0 ) \
SYSCALL_ENTRY( 0x0148, NtUserLockWindowUpdate, 8 ) \ SYSCALL_ENTRY( 0x0148, NtUserKillTimer, 16 ) \
SYSCALL_ENTRY( 0x0149, NtUserLogicalToPerMonitorDPIPhysicalPoint, 16 ) \ SYSCALL_ENTRY( 0x0149, NtUserLockWindowUpdate, 8 ) \
SYSCALL_ENTRY( 0x014a, NtUserMapVirtualKeyEx, 24 ) \ SYSCALL_ENTRY( 0x014a, NtUserLogicalToPerMonitorDPIPhysicalPoint, 16 ) \
SYSCALL_ENTRY( 0x014b, NtUserMenuItemFromPoint, 32 ) \ SYSCALL_ENTRY( 0x014b, NtUserMapVirtualKeyEx, 24 ) \
SYSCALL_ENTRY( 0x014c, NtUserMessageCall, 56 ) \ SYSCALL_ENTRY( 0x014c, NtUserMenuItemFromPoint, 32 ) \
SYSCALL_ENTRY( 0x014d, NtUserMoveWindow, 48 ) \ SYSCALL_ENTRY( 0x014d, NtUserMessageCall, 56 ) \
SYSCALL_ENTRY( 0x014e, NtUserMsgWaitForMultipleObjectsEx, 40 ) \ SYSCALL_ENTRY( 0x014e, NtUserMoveWindow, 48 ) \
SYSCALL_ENTRY( 0x014f, NtUserNotifyIMEStatus, 16 ) \ SYSCALL_ENTRY( 0x014f, NtUserMsgWaitForMultipleObjectsEx, 40 ) \
SYSCALL_ENTRY( 0x0150, NtUserNotifyWinEvent, 32 ) \ SYSCALL_ENTRY( 0x0150, NtUserNotifyIMEStatus, 16 ) \
SYSCALL_ENTRY( 0x0151, NtUserOpenClipboard, 16 ) \ SYSCALL_ENTRY( 0x0151, NtUserNotifyWinEvent, 32 ) \
SYSCALL_ENTRY( 0x0152, NtUserOpenDesktop, 24 ) \ SYSCALL_ENTRY( 0x0152, NtUserOpenClipboard, 16 ) \
SYSCALL_ENTRY( 0x0153, NtUserOpenInputDesktop, 24 ) \ SYSCALL_ENTRY( 0x0153, NtUserOpenDesktop, 24 ) \
SYSCALL_ENTRY( 0x0154, NtUserOpenWindowStation, 16 ) \ SYSCALL_ENTRY( 0x0154, NtUserOpenInputDesktop, 24 ) \
SYSCALL_ENTRY( 0x0155, NtUserPeekMessage, 40 ) \ SYSCALL_ENTRY( 0x0155, NtUserOpenWindowStation, 16 ) \
SYSCALL_ENTRY( 0x0156, NtUserPerMonitorDPIPhysicalToLogicalPoint, 16 ) \ SYSCALL_ENTRY( 0x0156, NtUserPeekMessage, 40 ) \
SYSCALL_ENTRY( 0x0157, NtUserPostMessage, 32 ) \ SYSCALL_ENTRY( 0x0157, NtUserPerMonitorDPIPhysicalToLogicalPoint, 16 ) \
SYSCALL_ENTRY( 0x0158, NtUserPostThreadMessage, 32 ) \ SYSCALL_ENTRY( 0x0158, NtUserPostMessage, 32 ) \
SYSCALL_ENTRY( 0x0159, NtUserPrintWindow, 24 ) \ SYSCALL_ENTRY( 0x0159, NtUserPostThreadMessage, 32 ) \
SYSCALL_ENTRY( 0x015a, NtUserQueryDisplayConfig, 48 ) \ SYSCALL_ENTRY( 0x015a, NtUserPrintWindow, 24 ) \
SYSCALL_ENTRY( 0x015b, NtUserQueryInputContext, 16 ) \ SYSCALL_ENTRY( 0x015b, NtUserQueryDisplayConfig, 48 ) \
SYSCALL_ENTRY( 0x015c, NtUserRealChildWindowFromPoint, 24 ) \ SYSCALL_ENTRY( 0x015c, NtUserQueryInputContext, 16 ) \
SYSCALL_ENTRY( 0x015d, NtUserRedrawWindow, 32 ) \ SYSCALL_ENTRY( 0x015d, NtUserRealChildWindowFromPoint, 24 ) \
SYSCALL_ENTRY( 0x015e, NtUserRegisterClassExWOW, 56 ) \ SYSCALL_ENTRY( 0x015e, NtUserRedrawWindow, 32 ) \
SYSCALL_ENTRY( 0x015f, NtUserRegisterHotKey, 32 ) \ SYSCALL_ENTRY( 0x015f, NtUserRegisterClassExWOW, 56 ) \
SYSCALL_ENTRY( 0x0160, NtUserRegisterRawInputDevices, 24 ) \ SYSCALL_ENTRY( 0x0160, NtUserRegisterHotKey, 32 ) \
SYSCALL_ENTRY( 0x0161, NtUserRegisterTouchPadCapable, 8 ) \ SYSCALL_ENTRY( 0x0161, NtUserRegisterRawInputDevices, 24 ) \
SYSCALL_ENTRY( 0x0162, NtUserReleaseDC, 16 ) \ SYSCALL_ENTRY( 0x0162, NtUserRegisterTouchPadCapable, 8 ) \
SYSCALL_ENTRY( 0x0163, NtUserRemoveClipboardFormatListener, 8 ) \ SYSCALL_ENTRY( 0x0163, NtUserReleaseDC, 16 ) \
SYSCALL_ENTRY( 0x0164, NtUserRemoveMenu, 24 ) \ SYSCALL_ENTRY( 0x0164, NtUserRemoveClipboardFormatListener, 8 ) \
SYSCALL_ENTRY( 0x0165, NtUserRemoveProp, 16 ) \ SYSCALL_ENTRY( 0x0165, NtUserRemoveMenu, 24 ) \
SYSCALL_ENTRY( 0x0166, NtUserScrollDC, 56 ) \ SYSCALL_ENTRY( 0x0166, NtUserRemoveProp, 16 ) \
SYSCALL_ENTRY( 0x0167, NtUserScrollWindowEx, 64 ) \ SYSCALL_ENTRY( 0x0167, NtUserScrollDC, 56 ) \
SYSCALL_ENTRY( 0x0168, NtUserSelectPalette, 24 ) \ SYSCALL_ENTRY( 0x0168, NtUserScrollWindowEx, 64 ) \
SYSCALL_ENTRY( 0x0169, NtUserSendInput, 24 ) \ SYSCALL_ENTRY( 0x0169, NtUserSelectPalette, 24 ) \
SYSCALL_ENTRY( 0x016a, NtUserSetActiveWindow, 8 ) \ SYSCALL_ENTRY( 0x016a, NtUserSendInput, 24 ) \
SYSCALL_ENTRY( 0x016b, NtUserSetCapture, 8 ) \ SYSCALL_ENTRY( 0x016b, NtUserSetActiveWindow, 8 ) \
SYSCALL_ENTRY( 0x016c, NtUserSetClassLong, 32 ) \ SYSCALL_ENTRY( 0x016c, NtUserSetCapture, 8 ) \
SYSCALL_ENTRY( 0x016d, NtUserSetClassLongPtr, 32 ) \ SYSCALL_ENTRY( 0x016d, NtUserSetClassLong, 32 ) \
SYSCALL_ENTRY( 0x016e, NtUserSetClassWord, 24 ) \ SYSCALL_ENTRY( 0x016e, NtUserSetClassLongPtr, 32 ) \
SYSCALL_ENTRY( 0x016f, NtUserSetClipboardData, 24 ) \ SYSCALL_ENTRY( 0x016f, NtUserSetClassWord, 24 ) \
SYSCALL_ENTRY( 0x0170, NtUserSetClipboardViewer, 8 ) \ SYSCALL_ENTRY( 0x0170, NtUserSetClipboardData, 24 ) \
SYSCALL_ENTRY( 0x0171, NtUserSetCursor, 8 ) \ SYSCALL_ENTRY( 0x0171, NtUserSetClipboardViewer, 8 ) \
SYSCALL_ENTRY( 0x0172, NtUserSetCursorIconData, 32 ) \ SYSCALL_ENTRY( 0x0172, NtUserSetCursor, 8 ) \
SYSCALL_ENTRY( 0x0173, NtUserSetCursorPos, 16 ) \ SYSCALL_ENTRY( 0x0173, NtUserSetCursorIconData, 32 ) \
SYSCALL_ENTRY( 0x0174, NtUserSetFocus, 8 ) \ SYSCALL_ENTRY( 0x0174, NtUserSetCursorPos, 16 ) \
SYSCALL_ENTRY( 0x0175, NtUserSetInternalWindowPos, 32 ) \ SYSCALL_ENTRY( 0x0175, NtUserSetFocus, 8 ) \
SYSCALL_ENTRY( 0x0176, NtUserSetKeyboardState, 8 ) \ SYSCALL_ENTRY( 0x0176, NtUserSetInternalWindowPos, 32 ) \
SYSCALL_ENTRY( 0x0177, NtUserSetLayeredWindowAttributes, 32 ) \ SYSCALL_ENTRY( 0x0177, NtUserSetKeyboardState, 8 ) \
SYSCALL_ENTRY( 0x0178, NtUserSetMenu, 16 ) \ SYSCALL_ENTRY( 0x0178, NtUserSetLayeredWindowAttributes, 32 ) \
SYSCALL_ENTRY( 0x0179, NtUserSetMenuContextHelpId, 16 ) \ SYSCALL_ENTRY( 0x0179, NtUserSetMenu, 16 ) \
SYSCALL_ENTRY( 0x017a, NtUserSetMenuDefaultItem, 24 ) \ SYSCALL_ENTRY( 0x017a, NtUserSetMenuContextHelpId, 16 ) \
SYSCALL_ENTRY( 0x017b, NtUserSetObjectInformation, 32 ) \ SYSCALL_ENTRY( 0x017b, NtUserSetMenuDefaultItem, 24 ) \
SYSCALL_ENTRY( 0x017c, NtUserSetParent, 16 ) \ SYSCALL_ENTRY( 0x017c, NtUserSetObjectInformation, 32 ) \
SYSCALL_ENTRY( 0x017d, NtUserSetProcessDpiAwarenessContext, 16 ) \ SYSCALL_ENTRY( 0x017d, NtUserSetParent, 16 ) \
SYSCALL_ENTRY( 0x017e, NtUserSetProcessWindowStation, 8 ) \ SYSCALL_ENTRY( 0x017e, NtUserSetProcessDpiAwarenessContext, 16 ) \
SYSCALL_ENTRY( 0x017f, NtUserSetProp, 24 ) \ SYSCALL_ENTRY( 0x017f, NtUserSetProcessWindowStation, 8 ) \
SYSCALL_ENTRY( 0x0180, NtUserSetScrollInfo, 32 ) \ SYSCALL_ENTRY( 0x0180, NtUserSetProp, 24 ) \
SYSCALL_ENTRY( 0x0181, NtUserSetShellWindowEx, 16 ) \ SYSCALL_ENTRY( 0x0181, NtUserSetScrollInfo, 32 ) \
SYSCALL_ENTRY( 0x0182, NtUserSetSysColors, 24 ) \ SYSCALL_ENTRY( 0x0182, NtUserSetShellWindowEx, 16 ) \
SYSCALL_ENTRY( 0x0183, NtUserSetSystemMenu, 16 ) \ SYSCALL_ENTRY( 0x0183, NtUserSetSysColors, 24 ) \
SYSCALL_ENTRY( 0x0184, NtUserSetSystemTimer, 24 ) \ SYSCALL_ENTRY( 0x0184, NtUserSetSystemMenu, 16 ) \
SYSCALL_ENTRY( 0x0185, NtUserSetThreadDesktop, 8 ) \ SYSCALL_ENTRY( 0x0185, NtUserSetSystemTimer, 24 ) \
SYSCALL_ENTRY( 0x0186, NtUserSetTimer, 40 ) \ SYSCALL_ENTRY( 0x0186, NtUserSetThreadDesktop, 8 ) \
SYSCALL_ENTRY( 0x0187, NtUserSetWinEventHook, 64 ) \ SYSCALL_ENTRY( 0x0187, NtUserSetTimer, 40 ) \
SYSCALL_ENTRY( 0x0188, NtUserSetWindowLong, 32 ) \ SYSCALL_ENTRY( 0x0188, NtUserSetWinEventHook, 64 ) \
SYSCALL_ENTRY( 0x0189, NtUserSetWindowLongPtr, 32 ) \ SYSCALL_ENTRY( 0x0189, NtUserSetWindowLong, 32 ) \
SYSCALL_ENTRY( 0x018a, NtUserSetWindowPlacement, 16 ) \ SYSCALL_ENTRY( 0x018a, NtUserSetWindowLongPtr, 32 ) \
SYSCALL_ENTRY( 0x018b, NtUserSetWindowPos, 56 ) \ SYSCALL_ENTRY( 0x018b, NtUserSetWindowPlacement, 16 ) \
SYSCALL_ENTRY( 0x018c, NtUserSetWindowRgn, 24 ) \ SYSCALL_ENTRY( 0x018c, NtUserSetWindowPos, 56 ) \
SYSCALL_ENTRY( 0x018d, NtUserSetWindowWord, 24 ) \ SYSCALL_ENTRY( 0x018d, NtUserSetWindowRgn, 24 ) \
SYSCALL_ENTRY( 0x018e, NtUserSetWindowsHookEx, 48 ) \ SYSCALL_ENTRY( 0x018e, NtUserSetWindowWord, 24 ) \
SYSCALL_ENTRY( 0x018f, NtUserShowCaret, 8 ) \ SYSCALL_ENTRY( 0x018f, NtUserSetWindowsHookEx, 48 ) \
SYSCALL_ENTRY( 0x0190, NtUserShowCursor, 8 ) \ SYSCALL_ENTRY( 0x0190, NtUserShowCaret, 8 ) \
SYSCALL_ENTRY( 0x0191, NtUserShowScrollBar, 24 ) \ SYSCALL_ENTRY( 0x0191, NtUserShowCursor, 8 ) \
SYSCALL_ENTRY( 0x0192, NtUserShowWindow, 16 ) \ SYSCALL_ENTRY( 0x0192, NtUserShowScrollBar, 24 ) \
SYSCALL_ENTRY( 0x0193, NtUserShowWindowAsync, 16 ) \ SYSCALL_ENTRY( 0x0193, NtUserShowWindow, 16 ) \
SYSCALL_ENTRY( 0x0194, NtUserSwitchDesktop, 8 ) \ SYSCALL_ENTRY( 0x0194, NtUserShowWindowAsync, 16 ) \
SYSCALL_ENTRY( 0x0195, NtUserSystemParametersInfo, 32 ) \ SYSCALL_ENTRY( 0x0195, NtUserSwitchDesktop, 8 ) \
SYSCALL_ENTRY( 0x0196, NtUserSystemParametersInfoForDpi, 40 ) \ SYSCALL_ENTRY( 0x0196, NtUserSystemParametersInfo, 32 ) \
SYSCALL_ENTRY( 0x0197, NtUserThunkedMenuInfo, 16 ) \ SYSCALL_ENTRY( 0x0197, NtUserSystemParametersInfoForDpi, 40 ) \
SYSCALL_ENTRY( 0x0198, NtUserThunkedMenuItemInfo, 48 ) \ SYSCALL_ENTRY( 0x0198, NtUserThunkedMenuInfo, 16 ) \
SYSCALL_ENTRY( 0x0199, NtUserToUnicodeEx, 56 ) \ SYSCALL_ENTRY( 0x0199, NtUserThunkedMenuItemInfo, 48 ) \
SYSCALL_ENTRY( 0x019a, NtUserTrackMouseEvent, 8 ) \ SYSCALL_ENTRY( 0x019a, NtUserToUnicodeEx, 56 ) \
SYSCALL_ENTRY( 0x019b, NtUserTrackPopupMenuEx, 48 ) \ SYSCALL_ENTRY( 0x019b, NtUserTrackMouseEvent, 8 ) \
SYSCALL_ENTRY( 0x019c, NtUserTranslateAccelerator, 24 ) \ SYSCALL_ENTRY( 0x019c, NtUserTrackPopupMenuEx, 48 ) \
SYSCALL_ENTRY( 0x019d, NtUserTranslateMessage, 16 ) \ SYSCALL_ENTRY( 0x019d, NtUserTranslateAccelerator, 24 ) \
SYSCALL_ENTRY( 0x019e, NtUserUnhookWinEvent, 8 ) \ SYSCALL_ENTRY( 0x019e, NtUserTranslateMessage, 16 ) \
SYSCALL_ENTRY( 0x019f, NtUserUnhookWindowsHookEx, 8 ) \ SYSCALL_ENTRY( 0x019f, NtUserUnhookWinEvent, 8 ) \
SYSCALL_ENTRY( 0x01a0, NtUserUnregisterClass, 24 ) \ SYSCALL_ENTRY( 0x01a0, NtUserUnhookWindowsHookEx, 8 ) \
SYSCALL_ENTRY( 0x01a1, NtUserUnregisterHotKey, 16 ) \ SYSCALL_ENTRY( 0x01a1, NtUserUnregisterClass, 24 ) \
SYSCALL_ENTRY( 0x01a2, NtUserUpdateInputContext, 24 ) \ SYSCALL_ENTRY( 0x01a2, NtUserUnregisterHotKey, 16 ) \
SYSCALL_ENTRY( 0x01a3, NtUserUpdateLayeredWindow, 80 ) \ SYSCALL_ENTRY( 0x01a3, NtUserUpdateInputContext, 24 ) \
SYSCALL_ENTRY( 0x01a4, NtUserValidateRect, 16 ) \ SYSCALL_ENTRY( 0x01a4, NtUserUpdateLayeredWindow, 80 ) \
SYSCALL_ENTRY( 0x01a5, NtUserVkKeyScanEx, 16 ) \ SYSCALL_ENTRY( 0x01a5, NtUserValidateRect, 16 ) \
SYSCALL_ENTRY( 0x01a6, NtUserWaitForInputIdle, 24 ) \ SYSCALL_ENTRY( 0x01a6, NtUserVkKeyScanEx, 16 ) \
SYSCALL_ENTRY( 0x01a7, NtUserWaitMessage, 0 ) \ SYSCALL_ENTRY( 0x01a7, NtUserWaitForInputIdle, 24 ) \
SYSCALL_ENTRY( 0x01a8, NtUserWindowFromDC, 8 ) \ SYSCALL_ENTRY( 0x01a8, NtUserWaitMessage, 0 ) \
SYSCALL_ENTRY( 0x01a9, NtUserWindowFromPoint, 16 ) \ SYSCALL_ENTRY( 0x01a9, NtUserWindowFromDC, 8 ) \
SYSCALL_ENTRY( 0x01aa, __wine_get_file_outline_text_metric, 32 ) \ SYSCALL_ENTRY( 0x01aa, NtUserWindowFromPoint, 16 ) \
SYSCALL_ENTRY( 0x01ab, __wine_get_icm_profile, 32 ) SYSCALL_ENTRY( 0x01ab, __wine_get_file_outline_text_metric, 32 ) \
SYSCALL_ENTRY( 0x01ac, __wine_get_icm_profile, 32 )

View file

@ -814,7 +814,7 @@
@ stdcall -syscall NtUserBuildHimcList(long long ptr ptr) @ stdcall -syscall NtUserBuildHimcList(long long ptr ptr)
@ stdcall -syscall NtUserBuildHwndList(long long long long long long ptr ptr) @ stdcall -syscall NtUserBuildHwndList(long long long long long long ptr ptr)
@ stub NtUserBuildNameList @ stub NtUserBuildNameList
@ stub NtUserBuildPropList @ stdcall -syscall NtUserBuildPropList(long long ptr ptr)
@ stub NtUserCalcMenuBar @ stub NtUserCalcMenuBar
@ stub NtUserCalculatePopupWindowPosition @ stub NtUserCalculatePopupWindowPosition
@ stdcall -syscall NtUserCallHwnd(long long) @ stdcall -syscall NtUserCallHwnd(long long)

View file

@ -1561,6 +1561,43 @@ HANDLE WINAPI NtUserRemoveProp( HWND hwnd, const WCHAR *str )
return (HANDLE)ret; return (HANDLE)ret;
} }
/***********************************************************************
* NtUserBuildPropList (win32u.@)
*/
NTSTATUS WINAPI NtUserBuildPropList( HWND hwnd, ULONG count, struct ntuser_property_list *buffer, ULONG *ret_count )
{
property_data_t *data;
ULONG i;
NTSTATUS status;
if (!buffer || !ret_count) return STATUS_INVALID_PARAMETER;
if (!(data = malloc( count * sizeof(*data) ))) return STATUS_NO_MEMORY;
SERVER_START_REQ( get_window_properties )
{
req->window = wine_server_user_handle( hwnd );
wine_server_set_reply( req, data, count * sizeof(*data) );
if (!(status = wine_server_call( req )))
{
for (i = 0; i < wine_server_reply_size(reply) / sizeof(*data); i++)
{
buffer[i].data = data[i].data;
buffer[i].atom = data[i].atom;
buffer[i].string = data[i].string;
}
*ret_count = reply->total;
if (reply->total > count) status = STATUS_BUFFER_TOO_SMALL;
}
}
SERVER_END_REQ;
free( data );
return status;
}
static void mirror_rect( const RECT *window_rect, RECT *rect ) static void mirror_rect( const RECT *window_rect, RECT *rect )
{ {
int width = window_rect->right - window_rect->left; int width = window_rect->right - window_rect->left;

View file

@ -1635,6 +1635,16 @@ NTSTATUS WINAPI wow64_NtUserBuildHwndList( UINT *args )
return status; return status;
} }
NTSTATUS WINAPI wow64_NtUserBuildPropList( UINT *args )
{
HWND hwnd = get_handle( &args );
ULONG count = get_ulong( &args );
struct ntuser_property_list *props = get_ptr( &args );
ULONG *ret_count = get_ptr( &args );
return NtUserBuildPropList( hwnd, count, props, ret_count );
}
NTSTATUS WINAPI wow64_NtUserCallHwnd( UINT *args ) NTSTATUS WINAPI wow64_NtUserCallHwnd( UINT *args )
{ {
HWND hwnd = get_handle( &args ); HWND hwnd = get_handle( &args );

View file

@ -661,6 +661,13 @@ enum wine_drag_drop_call
WINE_DRAG_DROP_POST, WINE_DRAG_DROP_POST,
}; };
struct ntuser_property_list
{
UINT64 data;
ATOM atom;
BOOLEAN string; /* Wine extension */
};
#define WM_SYSTIMER 0x0118 #define WM_SYSTIMER 0x0118
@ -672,6 +679,7 @@ W32KAPI HDC WINAPI NtUserBeginPaint( HWND hwnd, PAINTSTRUCT *ps );
W32KAPI NTSTATUS WINAPI NtUserBuildHimcList( UINT thread_id, UINT count, HIMC *buffer, UINT *size ); W32KAPI NTSTATUS WINAPI NtUserBuildHimcList( UINT thread_id, UINT count, HIMC *buffer, UINT *size );
W32KAPI NTSTATUS WINAPI NtUserBuildHwndList( HDESK desktop, ULONG unk2, ULONG unk3, ULONG unk4, W32KAPI NTSTATUS WINAPI NtUserBuildHwndList( HDESK desktop, ULONG unk2, ULONG unk3, ULONG unk4,
ULONG thread_id, ULONG count, HWND *buffer, ULONG *size ); ULONG thread_id, ULONG count, HWND *buffer, ULONG *size );
W32KAPI NTSTATUS WINAPI NtUserBuildPropList( HWND hwnd, ULONG count, struct ntuser_property_list *buffer, ULONG *ret_count );
W32KAPI ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code ); W32KAPI ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code );
W32KAPI ULONG_PTR WINAPI NtUserCallHwndParam( HWND hwnd, DWORD_PTR param, DWORD code ); W32KAPI ULONG_PTR WINAPI NtUserCallHwndParam( HWND hwnd, DWORD_PTR param, DWORD code );
W32KAPI LRESULT WINAPI NtUserCallNextHookEx( HHOOK hhook, INT code, WPARAM wparam, LPARAM lparam ); W32KAPI LRESULT WINAPI NtUserCallNextHookEx( HHOOK hhook, INT code, WPARAM wparam, LPARAM lparam );