blob: 5877193e010e0c897af417431d7ab08ab1c61e97 [file]
/* **********************************************************
* Copyright (c) 2011-2018 Google, Inc. All rights reserved.
* **********************************************************/
/* Dr. Memory: the memory debugger
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License, and no later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* Need this defined and to the latest to get the latest defines and types */
#define _WIN32_WINNT 0x0601 /* == _WIN32_WINNT_WIN7 */
#define WINVER _WIN32_WINNT
#include "dr_api.h"
#include "drsyscall.h"
#include "drsyscall_os.h"
#include "drsyscall_windows.h"
#include "table_defines.h"
#include <stddef.h> /* offsetof */
#include "../wininc/ndk_extypes.h" /* required by ntuser.h */
#include "../wininc/ntuser.h"
#include "../wininc/ntuser_win8.h"
#include "../wininc/ntuser_ex.h"
/***************************************************************************/
/* System calls with wrappers in user32.dll.
* Not all wrappers are exported: xref i#388.
*
* Initially obtained via mksystable.pl on ntuser.h.
* That version was checked in separately to track manual changes.
*
* When adding new entries, use the NtUser prefix.
* When we try to find the wrapper via symbol lookup we try with
* and without the prefix.
*
* Unresolved issues are marked w/ FIXME in the table.
*/
/* FIXME i#1089: fill in info on all the inlined args for all of
* syscalls in this file.
*/
/* FIXME i#1093: figure out the failure codes for all the int and uint return values */
extern drsys_sysnum_t sysnum_UserSystemParametersInfo;
extern drsys_sysnum_t sysnum_UserMenuInfo;
extern drsys_sysnum_t sysnum_UserMenuItemInfo;
extern drsys_sysnum_t sysnum_UserGetAltTabInfo;
extern drsys_sysnum_t sysnum_UserGetRawInputBuffer;
extern drsys_sysnum_t sysnum_UserGetRawInputData;
extern drsys_sysnum_t sysnum_UserGetRawInputDeviceInfo;
extern drsys_sysnum_t sysnum_UserTrackMouseEvent;
extern drsys_sysnum_t sysnum_UserLoadKeyboardLayoutEx;
extern drsys_sysnum_t sysnum_UserCreateWindowStation;
extern drsys_sysnum_t sysnum_UserMessageCall;
extern drsys_sysnum_t sysnum_UserCreateAcceleratorTable;
extern drsys_sysnum_t sysnum_UserCopyAcceleratorTable;
extern drsys_sysnum_t sysnum_UserSetScrollInfo;
extern syscall_info_t syscall_UserCallNoParam_info[];
extern syscall_info_t syscall_UserCallOneParam_info[];
extern syscall_info_t syscall_UserCallTwoParam_info[];
extern syscall_info_t syscall_UserCallHwnd_info[];
extern syscall_info_t syscall_UserCallHwndLock_info[];
extern syscall_info_t syscall_UserCallHwndOpt_info[];
extern syscall_info_t syscall_UserCallHwndParam_info[];
extern syscall_info_t syscall_UserCallHwndParamLock_info[];
syscall_info_t syscall_user32_info[] = {
{{0,0},"NtUserActivateKeyboardLayout", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserAlterWindowStyle", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserAssociateInputContext", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserAttachThreadInput", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserBeginPaint", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(PAINTSTRUCT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserBitBltSysBmp", OK, SYSARG_TYPE_BOOL32, 8,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{6, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{7, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserBlockInput", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserBuildHimcList", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -1, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(HIMC)},
{3, sizeof(UINT), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,WIN7},"NtUserBuildHwndList", OK, RNTST, 7,
{
{0, sizeof(HDESK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOLEAN), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, -6, WI|SYSARG_SIZE_IN_ELEMENTS, sizeof(HWND)},
{6, sizeof(ULONG), R|W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{WIN8,0},"NtUserBuildHwndList", OK, RNTST, 8,
{
{0, sizeof(HDESK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOLEAN), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
/* i#1153: size of buffer seems to be a separate inline param inserted
* at 5th position.
*/
{5, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, -5, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(HWND)},
{7, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserBuildMenuItemList", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, -2, W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserBuildNameList", OK, RNTST, 4,
{
{0, sizeof(HWINSTA), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -1, W|HT, DRSYS_TYPE_STRUCT},
{2, -3, WI|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserBuildPropList", OK, RNTST, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -1, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(USER_PROP_LIST_ENTRY)},
{2, -3, WI|SYSARG_SIZE_IN_ELEMENTS, sizeof(USER_PROP_LIST_ENTRY)},
{3, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCalcMenuBar", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* i#389: NtUserCall* take in a code and perform a variety of tasks */
{{0,0},"NtUserCallHwnd", OK|SYSINFO_SECONDARY_TABLE, SYSARG_TYPE_UINT32, 2,
{
{1,} /* code is param #1 */
}, (drsys_sysnum_t*)syscall_UserCallHwnd_info
},
{{0,0},"NtUserCallHwndLock", OK|SYSINFO_SECONDARY_TABLE, SYSARG_TYPE_BOOL32, 2,
{
{1,} /* code is param #1 */
}, (drsys_sysnum_t*)syscall_UserCallHwndLock_info
},
{{0,0},"NtUserCallHwndOpt", OK|SYSINFO_SECONDARY_TABLE, DRSYS_TYPE_HANDLE, 2,
{
{1,} /* code is param #1 */
}, (drsys_sysnum_t*)syscall_UserCallHwndOpt_info
},
{{0,0},"NtUserCallHwndParam", OK|SYSINFO_SECONDARY_TABLE, SYSARG_TYPE_UINT32, 3,
{
{2,} /* code is param #2 */
}, (drsys_sysnum_t*)syscall_UserCallHwndParam_info
},
{{0,0},"NtUserCallHwndParamLock", OK|SYSINFO_SECONDARY_TABLE, SYSARG_TYPE_UINT32, 3,
{
{2,} /* code is param #2 */
}, (drsys_sysnum_t*)syscall_UserCallHwndParamLock_info
},
{{0,0},"NtUserCallMsgFilter", UNKNOWN, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(MSG), R|W|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserCallNextHookEx", UNKNOWN, DRSYS_TYPE_SIGNED_INT, 4,
{
{0, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{1, sizeof(WPARAM), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserCallNoParam", OK|SYSINFO_SECONDARY_TABLE, DRSYS_TYPE_UNSIGNED_INT, 1,
{
{0,} /* code is param #0 */
}, (drsys_sysnum_t*)syscall_UserCallNoParam_info
},
{{0,0},"NtUserCallOneParam", OK|SYSINFO_SECONDARY_TABLE, DRSYS_TYPE_UNSIGNED_INT, 2,
{
{1,} /* code is param #1 */
}, (drsys_sysnum_t*)syscall_UserCallOneParam_info
},
{{0,0},"NtUserCallTwoParam", OK|SYSINFO_SECONDARY_TABLE, DRSYS_TYPE_UNSIGNED_INT, 3,
{
{2,} /* code is param #2 */
}, (drsys_sysnum_t*)syscall_UserCallTwoParam_info
},
{{0,0},"NtUserChangeClipboardChain", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserChangeDisplaySettings", OK, SYSARG_TYPE_SINT32, 5,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{1, sizeof(DEVMODEW)/*really var-len*/, R|CT, SYSARG_TYPE_DEVMODEW},
{2, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, -5, W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserCheckDesktopByThreadId", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCheckImeHotKey", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCheckMenuItem", OK|SYSINFO_RET_MINUS1_FAIL, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCheckWindowThreadDesktop", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserChildWindowFromPointEx", OK, DRSYS_TYPE_HANDLE, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserClipCursor", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserCloseClipboard", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserCloseDesktop", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HDESK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserCloseWindowStation", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWINSTA), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserConsoleControl", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserConvertMemHandle", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, -1, R|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCopyAcceleratorTable", OK|SYSINFO_RET_ZERO_FAIL, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HACCEL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
/* special-cased b/c ACCEL has padding */
{1, -2, SYSARG_NON_MEMARG|SYSARG_SIZE_IN_ELEMENTS, sizeof(ACCEL)},
{2, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserCopyAcceleratorTable,
},
{{0,0},"NtUserCountClipboardFormats", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserCreateAcceleratorTable", OK, DRSYS_TYPE_HANDLE, 2,
{
/* special-cased b/c ACCEL has padding */
{0, -1, SYSARG_NON_MEMARG|SYSARG_SIZE_IN_ELEMENTS, sizeof(ACCEL)},
{1, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserCreateAcceleratorTable,
},
{{0,0},"NtUserCreateCaret", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HBITMAP), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserCreateDesktop", OK, DRSYS_TYPE_HANDLE, 5,
{
{0, sizeof(OBJECT_ATTRIBUTES), R|CT, SYSARG_TYPE_OBJECT_ATTRIBUTES},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(DEVMODEW)/*really var-len*/, R|CT, SYSARG_TYPE_DEVMODEW},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCreateInputContext", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCreateLocalMemHandle", OK, RNTST, 4,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, -2, W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserCreateWindowEx", OK, DRSYS_TYPE_HANDLE, 15,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(LARGE_STRING), R|CT, SYSARG_TYPE_LARGE_STRING},
{2, sizeof(LARGE_STRING), R|CT, SYSARG_TYPE_LARGE_STRING},
{3, sizeof(LARGE_STRING), R|CT, SYSARG_TYPE_LARGE_STRING},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{6, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{7, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{8, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{9, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{10, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{11, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{12, sizeof(LPVOID), SYSARG_INLINED, DRSYS_TYPE_UNKNOWN},
{13, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{14, sizeof(PVOID), SYSARG_INLINED, DRSYS_TYPE_UNKNOWN},
}
},
{{0,0},"NtUserCreateWindowStation", OK, DRSYS_TYPE_HANDLE, 7,
{
{0, sizeof(OBJECT_ATTRIBUTES), R|CT, SYSARG_TYPE_OBJECT_ATTRIBUTES},
{1, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserCreateWindowStation
},
{{0,0},"NtUserCtxDisplayIOCtl", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDdeGetQualityOfService", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(SECURITY_QUALITY_OF_SERVICE), W|CT, SYSARG_TYPE_SECURITY_QOS},
}
},
{{0,0},"NtUserDdeInitialize", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDdeSetQualityOfService", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(SECURITY_QUALITY_OF_SERVICE), R|CT, SYSARG_TYPE_SECURITY_QOS},
{2, sizeof(SECURITY_QUALITY_OF_SERVICE), W|CT, SYSARG_TYPE_SECURITY_QOS},
}
},
{{0,0},"NtUserDefSetText", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LARGE_STRING), R|CT, SYSARG_TYPE_LARGE_STRING},
}
},
{{0,0},"NtUserDeferWindowPos", OK, DRSYS_TYPE_HANDLE, 8,
{
{0, sizeof(HDWP), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{6, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{7, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDeleteMenu", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDestroyAcceleratorTable", OK, SYSARG_TYPE_BOOL8, 1,
{
{0, sizeof(HACCEL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserDestroyCursor", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserDestroyInputContext", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDestroyMenu", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserDestroyWindow", OK, SYSARG_TYPE_BOOL8, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserDisableThreadIme", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDispatchMessage", OK, DRSYS_TYPE_SIGNED_INT, 1,
{
{0, sizeof(MSG), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserDragDetect", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(POINT), SYSARG_INLINED, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserDragObject", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(HCURSOR), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserDrawAnimatedRects", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserDrawCaption", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDrawCaptionTemp", OK, SYSARG_TYPE_BOOL32, 7,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(HFONT), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{4, sizeof(HICON), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{5, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{6, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDrawIconEx", OK, SYSARG_TYPE_BOOL32, 11,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(HICON), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{4, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{6, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{7, sizeof(HBRUSH), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{8, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{9, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{10, sizeof(DRAWICONEXDATA), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserDrawMenuBarTemp", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{4, sizeof(HFONT), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserEmptyClipboard", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserEnableMenuItem", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserEnableScrollBar", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserEndDeferWindowPosEx", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HDWP), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserEndMenu", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserEndPaint", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(PAINTSTRUCT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserEnumDisplayDevices", OK, RNTST, 4,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, SYSARG_SIZE_IN_FIELD, W, offsetof(DISPLAY_DEVICEW, cb)},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserEnumDisplayMonitors", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(MONITORENUMPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
{3, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserEnumDisplaySettings", OK, RNTST, 4,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DEVMODEW)/*really var-len*/, W|CT, SYSARG_TYPE_DEVMODEW},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserEvent", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserExcludeUpdateRgn", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserFillWindow", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(HBRUSH), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserFindExistingCursorIcon", OK, DRSYS_TYPE_HANDLE, 4,
{
{0, sizeof(HMODULE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HRSRC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserFindWindowEx", OK, DRSYS_TYPE_HANDLE, 5,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{3, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserFlashWindowEx", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, SYSARG_SIZE_IN_FIELD, R, offsetof(FLASHWINFO, cbSize)},
}
},
{{0,0},"NtUserGetAltTabInfo", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(ALTTABINFO), R|HT, DRSYS_TYPE_STRUCT},
/* The buffer is ansi or unicode so memarg and non-memarg are special-cased. */
{4, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}, &sysnum_UserGetAltTabInfo
},
{{0,0},"NtUserGetAncestor", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetAppImeLevel", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetAsyncKeyState", OK, SYSARG_TYPE_SINT16, 1,
{
{0, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetAtomName", OK|SYSINFO_RET_ZERO_FAIL, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(ATOM), SYSARG_INLINED, DRSYS_TYPE_ATOM},
{1, sizeof(UNICODE_STRING), W|CT, SYSARG_TYPE_UNICODE_STRING_NOLEN/*i#490*/},
}
},
{{0,0},"NtUserGetCPD", OK, DRSYS_TYPE_UNSIGNED_INT, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(GETCPD), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(ULONG_PTR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetCaretBlinkTime", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserGetCaretPos", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(POINT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserGetClassInfo", OK, SYSARG_TYPE_BOOL32, 5,
{
{0, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(WNDCLASSEXW), W|CT, SYSARG_TYPE_WNDCLASSEXW},
{3, sizeof(PWSTR)/*pointer to existing string (ansi or unicode) is copied*/, W,},
{4, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetClassInfoEx", OK, SYSARG_TYPE_BOOL32, 5,
{
{0, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(WNDCLASSEXW), W|CT, SYSARG_TYPE_WNDCLASSEXW},
{3, sizeof(PWSTR)/*pointer to existing string (ansi or unicode) is copied*/, W,},
{4, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
/* XXX: Filled in based on ROS and should verify correct. */
{{0,0},"NtUserGetClassLong", OK, DRSYS_TYPE_UNSIGNED_INT, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetClassName", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{2, sizeof(UNICODE_STRING), W|CT, SYSARG_TYPE_UNICODE_STRING_NOLEN/*i#490*/},
}
},
{{0,0},"NtUserGetClipCursor", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserGetClipboardData", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(GETCLIPBDATA), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserGetClipboardFormatName", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, -2, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(wchar_t)},
{1, RET, W|SYSARG_SIZE_IN_ELEMENTS|SYSARG_SIZE_PLUS_1, sizeof(wchar_t)},
{2, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetClipboardOwner", OK, DRSYS_TYPE_HANDLE, 0, },
{{0,0},"NtUserGetClipboardSequenceNumber", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserGetClipboardViewer", OK, DRSYS_TYPE_HANDLE, 0, },
{{0,0},"NtUserGetComboBoxInfo", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, SYSARG_SIZE_IN_FIELD, W, offsetof(COMBOBOXINFO, cbSize)},
}
},
{{0,0},"NtUserGetControlBrush", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetControlColor", OK, DRSYS_TYPE_HANDLE, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetCursorFrameInfo", OK, DRSYS_TYPE_HANDLE, 4,
{
{0, sizeof(HCURSOR), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(INT), W|HT, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetCursorInfo", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, SYSARG_SIZE_IN_FIELD, W, offsetof(CURSORINFO, cbSize)},
}
},
{{0,0},"NtUserGetDC", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserGetDCEx", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetDoubleClickTime", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserGetForegroundWindow", OK, DRSYS_TYPE_HANDLE, 0, },
{{0,0},"NtUserGetGUIThreadInfo", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, SYSARG_SIZE_IN_FIELD, W, offsetof(GUITHREADINFO, cbSize)},
}
},
{{0,0},"NtUserGetGuiResources", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetIconInfo", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ICONINFO), W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(UNICODE_STRING), W|CT, SYSARG_TYPE_UNICODE_STRING_NOLEN/*i#490*/},
{3, sizeof(UNICODE_STRING), W|CT, SYSARG_TYPE_UNICODE_STRING},
{4, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetIconSize", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(LONG), W|HT, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(LONG), W|HT, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetImeHotKey", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* FIXME i#487: 1st param is OUT but shape is unknown. 2nd param seems to be an
* info class, but not fully known.
*/
{{0,0},"NtUserGetImeInfoEx", UNKNOWN|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(PVOID), SYSARG_INLINED, DRSYS_TYPE_UNKNOWN},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetInternalWindowPos", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(POINT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserGetKeyNameText", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{1, -2, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(wchar_t)},
{1, RET, W|SYSARG_SIZE_IN_ELEMENTS|SYSARG_SIZE_PLUS_1, sizeof(wchar_t)},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetKeyState", OK, SYSARG_TYPE_SINT16, 1,
{
{0, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetKeyboardLayout", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetKeyboardLayoutList", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, -0, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(HKL)},
{1, RET, W|SYSARG_NO_WRITE_IF_COUNT_0|SYSARG_SIZE_IN_ELEMENTS, sizeof(HKL)},
}
},
{{0,0},"NtUserGetKeyboardLayoutName", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, KL_NAMELENGTH*sizeof(wchar_t), W|CT, SYSARG_TYPE_CSTRING_WIDE},
}
},
{{0,0},"NtUserGetKeyboardState", OK, SYSARG_TYPE_UINT32, 1,
{
{0, USER_KEYBOARD_STATE_SIZE, W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetKeyboardType", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetLastInputInfo", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, SYSARG_SIZE_IN_FIELD, W, offsetof(LASTINPUTINFO, cbSize)},
}
},
{{0,0},"NtUserGetLayeredWindowAttributes", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(COLORREF), W|HT, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BYTE), W|HT, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetListBoxInfo", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserGetMenuBarInfo", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, SYSARG_SIZE_IN_FIELD, W, offsetof(MENUBARINFO, cbSize)},
}
},
{{0,0},"NtUserGetMenuDefaultItem", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetMenuIndex", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserGetMenuItemRect", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserGetMessage", OK, RNTST, 4,
{
{0, sizeof(MSG), W|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetMinMaxInfo", OK, SYSARG_TYPE_BOOL32, 3,
{
{1, sizeof(MINMAXINFO), W,},
}
},
{{0,0},"NtUserGetMonitorInfo", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HMONITOR), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, SYSARG_SIZE_IN_FIELD, W, offsetof(MONITORINFO, cbSize)},
}
},
{{0,0},"NtUserGetMouseMovePointsEx", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, -0, R|HT, DRSYS_TYPE_STRUCT},
{2, -3, W|SYSARG_SIZE_IN_ELEMENTS, -0},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetObjectInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, SYSARG_TYPE_BOOL32, 5,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -3, W|HT, DRSYS_TYPE_STRUCT},
{2, -4, WI|HT, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetOpenClipboardWindow", OK, DRSYS_TYPE_HANDLE, 0, },
{{0,0},"NtUserGetPriorityClipboardFormat", OK, SYSARG_TYPE_SINT32, 2,
{
{0, -1, R|SYSARG_SIZE_IN_ELEMENTS, sizeof(UINT)},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserGetProcessWindowStation", OK, DRSYS_TYPE_HANDLE, 0, },
{{0,0},"NtUserGetRawInputBuffer", OK, SYSARG_TYPE_UINT32, 3,
{
/* param #0 has both mem and non-memarg handled in code */
{1, sizeof(UINT), SYSARG_NON_MEMARG, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, /*special-cased; FIXME: i#485: see handler*/ &sysnum_UserGetRawInputBuffer
},
{{0,0},"NtUserGetRawInputData", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(HRAWINPUT), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -3, WI|HT, DRSYS_TYPE_STRUCT},
{2, RET, W},
/*arg 3 is R or W => special-cased*/
{3, sizeof(UINT), SYSARG_NON_MEMARG, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserGetRawInputData
},
{{0,0},"NtUserGetRawInputDeviceInfo", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_NON_MEMARG, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserGetRawInputDeviceInfo
},
{{0,0},"NtUserGetRawInputDeviceList", OK, SYSARG_TYPE_UINT32, 3,
{
{0, -1, WI|SYSARG_SIZE_IN_ELEMENTS, -2},
/*really not written when #0!=NULL but harmless; ditto below and probably elsewhere in table*/
{1, sizeof(UINT), R|W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetRegisteredRawInputDevices", OK, SYSARG_TYPE_UINT32, 3,
{
{0, -1, WI|SYSARG_SIZE_IN_ELEMENTS, -2},
{1, sizeof(UINT), R|W|HT, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetScrollBarInfo", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, SYSARG_SIZE_IN_FIELD, W, offsetof(SCROLLBARINFO, cbSize)},
}
},
{{0,0},"NtUserGetSystemMenu", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetThreadDesktop", OK|SYSINFO_REQUIRES_PREFIX, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* XXX i#487: on WOW64 XP and Vista (but not win7) this makes a 0x2xxx syscall
* instead of invoking NtUserGetThreadDesktop: is it really different?
*/
{{0,0},"GetThreadDesktop", OK, RNTST, 2, },
{{0,0},"NtUserGetThreadState", OK, DRSYS_TYPE_UNSIGNED_INT, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserGetTitleBarInfo", OK, SYSARG_TYPE_BOOL8, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, SYSARG_SIZE_IN_FIELD, W, offsetof(TITLEBARINFO, cbSize)},
}
},
{{0,0},"NtUserGetUpdateRect", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetUpdateRgn", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserGetWOWClass", OK, DRSYS_TYPE_POINTER, 2,
{
{0, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
}
},
{{0,0},"NtUserGetWindowDC", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserGetWindowPlacement", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, SYSARG_SIZE_IN_FIELD, W, offsetof(WINDOWPLACEMENT, length)},
}
},
{{0,0},"NtUserHardErrorControl", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserHideCaret", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserHiliteMenuItem", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserImpersonateDdeClientWindow", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserInitTask", OK, SYSARG_TYPE_UINT32, 12,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{7, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{8, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{9, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{10, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{11, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserInitialize", OK, RNTST, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
/* FIXME i#487: not sure whether these are arrays and if so how long they are */
{{0,0},"NtUserInitializeClientPfnArrays", UNKNOWN, RNTST, 4,
{
{0, sizeof(PFNCLIENT), R|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(PFNCLIENT), R|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(PFNCLIENTWORKER), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserInternalGetWindowText", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, -2, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(wchar_t)},
{1, 0, W|CT, SYSARG_TYPE_CSTRING_WIDE},
{2, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserInvalidateRect", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserInvalidateRgn", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserIsClipboardFormatAvailable", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserKillTimer", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT_PTR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserLoadKeyboardLayoutEx", OK, DRSYS_TYPE_HANDLE, 7,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{3, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{4, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserLoadKeyboardLayoutEx
},
{{0,0},"NtUserLockWindowStation", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWINSTA), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserLockWindowUpdate", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserLockWorkStation", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserMNDragLeave", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserMNDragOver", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMapVirtualKeyEx", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserMenuInfo", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(MENUINFO), SYSARG_NON_MEMARG, DRSYS_TYPE_STRUCT},/*can be R or W*/
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}, &sysnum_UserMenuInfo
},
{{0,0},"NtUserMenuItemFromPoint", OK, SYSARG_TYPE_SINT32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMenuItemInfo", OK, SYSARG_TYPE_BOOL32, 5,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{3, sizeof(MENUITEMINFO), SYSARG_NON_MEMARG, DRSYS_TYPE_STRUCT},/*can be R or W*/
{4, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}, &sysnum_UserMenuItemInfo
},
/* i#1249: NtUserMessageCall has a lot of sub-actions based on both 2nd
* param and 6th param. However, enough are identical for our purposes that
* we handle in code. That's based on an early examination: if more and
* more need special handling we may want to switch to a secondary table(s).
* The return value is an LRESULT.
*/
{{0,0},"NtUserMessageCall", OK, SYSARG_TYPE_SINT32, 7,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(WPARAM), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
/* For some WM_ codes this is a pointer: special-cased.
* XXX: non-memarg client would want secondary table(s)!
*/
{3, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
/* 4th param is sometimes IN and sometimes OUT so we special-case it.
* XXX: however, now that we know the syscall return is
* LRESULT (i#1752), and this param always seems to be NULL,
* we may need to revisit what type it really is.
*/
{4, sizeof(LRESULT), SYSARG_NON_MEMARG, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}, &sysnum_UserMessageCall
},
{{0,0},"NtUserMinMaximize", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserModifyUserStartupInfoFlags", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMonitorFromPoint", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(POINT), SYSARG_INLINED, DRSYS_TYPE_STRUCT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMonitorFromRect", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMonitorFromWindow", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserMoveWindow", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserNotifyIMEStatus", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserNotifyProcessCreate", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserNotifyWinEvent", OK, DRSYS_TYPE_VOID, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserOpenClipboard", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), W|HT, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserOpenDesktop", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(OBJECT_ATTRIBUTES), R|CT, SYSARG_TYPE_OBJECT_ATTRIBUTES},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserOpenInputDesktop", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{2, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserOpenWindowStation", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(OBJECT_ATTRIBUTES), R|CT, SYSARG_TYPE_OBJECT_ATTRIBUTES},
{1, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserPaintDesktop", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserPaintMenuBar", OK, SYSARG_TYPE_UINT32, 6,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserPeekMessage", OK, RNTST, 5,
{
{0, sizeof(MSG), W|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserPostMessage", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(WPARAM), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserPostThreadMessage", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(WPARAM), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserPrintWindow", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* FIXME i#487: lots of pointers inside USERCONNECT */
{{0,0},"NtUserProcessConnect", UNKNOWN, RNTST, 3,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(USERCONNECT), W|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserQueryInformationThread", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserQueryInputContext", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserQuerySendMessage", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserQueryUserCounters", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserQueryWindow", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRealChildWindowFromPoint", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserRealInternalGetMessage", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(MSG), W|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserRealWaitMessageEx", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRedrawWindow", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{2, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterClassExWOW", OK|SYSINFO_RET_ZERO_FAIL, DRSYS_TYPE_ATOM, 7,
{
{0, sizeof(WNDCLASSEXW), R|CT, SYSARG_TYPE_WNDCLASSEXW},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{3, sizeof(CLSMENUNAME), R|CT, SYSARG_TYPE_CLSMENUNAME},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(DWORD), R|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterHotKey", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterRawInputDevices", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, -1, R|SYSARG_SIZE_IN_ELEMENTS, -2},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterTasklist", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterUserApiHook", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRegisterWindowMessage", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
}
},
{{0,0},"NtUserRemoteConnect", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRemoteRedrawRectangle", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRemoteRedrawScreen", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserRemoteStopScreenUpdates", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserRemoveMenu", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserRemoveProp", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ATOM), SYSARG_INLINED, DRSYS_TYPE_ATOM},
}
},
{{0,0},"NtUserResolveDesktop", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserResolveDesktopForWOW", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* FIXME i#487: not sure whether #2 is in or out */
{{0,0},"NtUserSBGetParms", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(SBDATA), W|HT, DRSYS_TYPE_STRUCT},
{3, SYSARG_SIZE_IN_FIELD, W, offsetof(SCROLLINFO, cbSize)},
}
},
{{0,0},"NtUserScrollDC", OK, SYSARG_TYPE_BOOL32, 7,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{4, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{5, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{6, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserScrollWindowEx", OK, SYSARG_TYPE_UINT32, 8,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{4, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{5, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{6, sizeof(RECT), W|HT, DRSYS_TYPE_STRUCT},
{7, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSelectPalette", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HPALETTE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSendInput", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, -0, R|SYSARG_SIZE_IN_ELEMENTS, -2},
{2, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserSetActiveWindow", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetAppImeLevel", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetCapture", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetClassLong", OK, DRSYS_TYPE_UNSIGNED_INT, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(ULONG_PTR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSetClassWord", OK, SYSARG_TYPE_UINT16, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(WORD), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserSetClipboardData", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(SETCLIPBDATA), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserSetClipboardViewer", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetConsoleReserveKeys", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetCursor", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HCURSOR), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetCursorContents", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ICONINFO), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserSetCursorIconData", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), R|HT, DRSYS_TYPE_BOOL},
{2, sizeof(POINT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(HMODULE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{4, sizeof(HRSRC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{5, sizeof(HRSRC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetDbgTag", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetFocus", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetImeHotKey", OK, SYSARG_TYPE_UINT32, 5,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetImeInfoEx", OK|SYSINFO_IMM32_DLL, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetImeOwnerWindow", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetInformationProcess", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetInformationThread", OK, RNTST, 4,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(USERTHREADINFOCLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, -3, R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetInternalWindowPos", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(POINT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserSetKeyboardState", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, USER_KEYBOARD_STATE_SIZE, R|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetLayeredWindowAttributes", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(COLORREF), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BYTE), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetLogonNotifyWindow", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetMenu", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSetMenuContextHelpId", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetMenuDefaultItem", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetMenuFlagRtoL", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetObjectInformation", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -3, R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetParent", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetProcessWindowStation", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWINSTA), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetProp", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(ATOM), SYSARG_INLINED, DRSYS_TYPE_ATOM},
{2, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetRipFlags", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetScrollBarInfo", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(SETSCROLLBARINFO), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserSetScrollInfo", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
/* Special-cased b/c some fields are ignored (i#1299) */
{2, SYSARG_SIZE_IN_FIELD, SYSARG_NON_MEMARG, offsetof(SCROLLINFO, cbSize)},
{3, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}, &sysnum_UserSetScrollInfo,
},
{{0,0},"NtUserSetShellWindowEx", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetSysColors", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{1, -0, R|SYSARG_SIZE_IN_ELEMENTS, sizeof(INT)},
{2, -0, R|SYSARG_SIZE_IN_ELEMENTS, sizeof(COLORREF)},
{3, sizeof(FLONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetSystemCursor", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HCURSOR), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetSystemMenu", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetSystemTimer", OK, DRSYS_TYPE_UNSIGNED_INT, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT_PTR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(TIMERPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
}
},
{{0,0},"NtUserSetThreadDesktop", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HDESK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSetThreadLayoutHandles", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetThreadState", OK, SYSARG_TYPE_UINT32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetTimer", OK, DRSYS_TYPE_UNSIGNED_INT, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT_PTR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(TIMERPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
}
},
{{0,0},"NtUserSetWinEventHook", OK, DRSYS_TYPE_HANDLE, 8,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(HMODULE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{3, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{4, sizeof(WINEVENTPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{7, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetWindowFNID", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(WORD), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserSetWindowLong", OK, SYSARG_TYPE_SINT32, 4,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSetWindowPlacement", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, SYSARG_SIZE_IN_FIELD, R, offsetof(WINDOWPLACEMENT, length)},
}
},
{{0,0},"NtUserSetWindowPos", OK, SYSARG_TYPE_BOOL32, 7,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{6, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetWindowRgn", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HRGN), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSetWindowStationUser", OK, SYSARG_TYPE_UINT32, 4,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserSetWindowWord", OK, SYSARG_TYPE_UINT16, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(INT), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(WORD), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserSetWindowsHookAW", OK, DRSYS_TYPE_HANDLE, 3,
{
{0, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{1, sizeof(HOOKPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserSetWindowsHookEx", OK, DRSYS_TYPE_HANDLE, 6,
{
{0, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(HOOKPROC), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},
{5, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserShowCaret", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserShowScrollBar", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserShowWindow", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserShowWindowAsync", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserSoundSentry", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserSwitchDesktop", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HDESK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserSystemParametersInfo", OK, SYSARG_TYPE_BOOL32, 4,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, -3, SYSARG_NON_MEMARG, DRSYS_TYPE_STRUCT},
{3, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}, &sysnum_UserSystemParametersInfo
},
{{0,0},"NtUserTestForInteractiveUser", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
/* there is a pointer in MENUINFO but it's user-defined */
{{0,0},"NtUserThunkedMenuInfo", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(MENUINFO), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserThunkedMenuItemInfo", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{3, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
{4, 0, R|CT, SYSARG_TYPE_MENUITEMINFOW},
{5, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
}
},
{{0,0},"NtUserToUnicodeEx", OK, SYSARG_TYPE_SINT32, 7,
{
{0, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, 0x100*sizeof(BYTE), R|HT, DRSYS_TYPE_UNSIGNED_INT},
{3, -4, W|SYSARG_SIZE_IN_ELEMENTS, sizeof(wchar_t)},
{4, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{5, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{6, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserTrackMouseEvent", OK, SYSARG_TYPE_BOOL32, 1,
{
/* Memarg and non-memarg are both special-cased */
{0,},
}, &sysnum_UserTrackMouseEvent
},
{{0,0},"NtUserTrackPopupMenuEx", OK, SYSARG_TYPE_BOOL32, 6,
{
{0, sizeof(HMENU), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{3, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{4, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{5, SYSARG_SIZE_IN_FIELD, R, offsetof(TPMPARAMS, cbSize)},
}
},
{{0,0},"NtUserTranslateAccelerator", OK, SYSARG_TYPE_SINT32, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HACCEL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(MSG), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserTranslateMessage", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(MSG), R|HT, DRSYS_TYPE_STRUCT},
{1, sizeof(UINT), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserUnhookWinEvent", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWINEVENTHOOK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserUnhookWindowsHookEx", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HHOOK), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserUnloadKeyboardLayout", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
{{0,0},"NtUserUnlockWindowStation", OK, SYSARG_TYPE_BOOL32, 1,
{
{0, sizeof(HWINSTA), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
}
},
/* FIXME i#487: CLSMENUNAME format is not fully known */
{{0,0},"NtUserUnregisterClass", UNKNOWN, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},
{1, sizeof(HINSTANCE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(CLSMENUNAME), W|CT, SYSARG_TYPE_CLSMENUNAME},
}
},
{{0,0},"NtUserUnregisterHotKey", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(int), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserUnregisterUserApiHook", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserUpdateInputContext", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserUpdateInstance", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserUpdateLayeredWindow", OK, SYSARG_TYPE_BOOL32, 10,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(POINT), R|HT, DRSYS_TYPE_STRUCT},
{3, sizeof(SIZE), R|HT, DRSYS_TYPE_STRUCT},
{4, sizeof(HDC), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{5, sizeof(POINT), R|HT, DRSYS_TYPE_STRUCT},
{6, sizeof(COLORREF), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{7, sizeof(BLENDFUNCTION), R|HT, DRSYS_TYPE_STRUCT},
{8, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{9, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserUpdatePerUserSystemParameters", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserUserHandleGrantAccess", OK, SYSARG_TYPE_BOOL32, 3,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserValidateHandleSecure", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserValidateRect", OK, SYSARG_TYPE_BOOL32, 2,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(RECT), R|HT, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserValidateTimerCallback", OK, RNTST, 3,
{
{0, sizeof(HWND), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(WPARAM), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(LPARAM), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserVkKeyScanEx", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(WCHAR), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(HKL), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserWaitForInputIdle", OK, SYSARG_TYPE_UINT32, 3,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(BOOL), SYSARG_INLINED, DRSYS_TYPE_BOOL},
}
},
{{0,0},"NtUserWaitForMsgAndEvent", OK, SYSARG_TYPE_UINT32, 1,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserWaitMessage", OK, SYSARG_TYPE_BOOL32, 0, },
{{0,0},"NtUserWin32PoolAllocationStats", OK, SYSARG_TYPE_UINT32, 6,
{
{0, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{1, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{2, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{5, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserWindowFromPhysicalPoint", OK, DRSYS_TYPE_HANDLE, 1,
{
{0, sizeof(POINT), SYSARG_INLINED, DRSYS_TYPE_STRUCT},
}
},
{{0,0},"NtUserWindowFromPoint", OK, DRSYS_TYPE_HANDLE, 2,
{
{0, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
{1, sizeof(LONG), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT},
}
},
{{0,0},"NtUserYieldTask", OK, SYSARG_TYPE_UINT32, 0, },
{{0,0},"NtUserUserConnectToServer", OK, RNTST, 3,
{
{0, 0, R|CT, SYSARG_TYPE_CSTRING_WIDE},
{1, -2, WI},
{2, sizeof(ULONG), R|W},
}
},
/***************************************************/
/* FIXME i#1095: fill in the unknown info, esp Vista+ */
{{0,0},"NtUserCallUserpExitWindowsEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserCallUserpRegisterLogonProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,WIN8},"NtUserDeviceEventWorker", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserEndTask", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserLogon", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserRegisterServicesProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
/***************************************************/
/* Added in Vista */
/* XXX: add min OS version: but we have to distinguish the service packs! */
/* XXX: NtUserGetProp's return value should match GetProp == HANDLE, but it
* returns -1 and pointer-looking values in addition to NULL and 2, so I'm
* not sure what it is -- the type may vary.
*/
{{0,0},"NtUserGetProp", OK, DRSYS_TYPE_UNKNOWN, 2, },
{{0,0},"NtUserAddClipboardFormatListener", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserCheckAccessForIntegrityLevel", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserCreateDesktopEx", UNKNOWN, DRSYS_TYPE_HANDLE, 6,
{
/* we figured some out but don't know others */
{3, sizeof(DWORD), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
{4, sizeof(ACCESS_MASK), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{0,0},"NtUserDoSoundConnect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserDoSoundDisconnect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserDwmGetDxRgn", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserDwmHintDxUpdate", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserDwmStartRedirection", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserDwmStopRedirection", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserEndTouchOperation", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserFrostCrashedWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserGetUpdatedClipboardFormats", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserGetWindowMinimizeRect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserGetWindowRgnEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserGhostWindowFromHungWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserHungWindowFromGhostWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserInternalGetWindowIcon", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserLogicalToPhysicalPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserOpenThreadDesktop", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserPaintMonitor", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserPhysicalToLogicalPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserRegisterErrorReportingDialog", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserRegisterSessionPort", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserRemoveClipboardFormatListener", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserSetMirrorRendering", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,WIN8}, "NtUserSetProcessDPIAware", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN81,0},"NtUserSetProcessDPIAwareness", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{0,0},"NtUserSetWindowRgnEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserShowSystemCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserShutdownBlockReasonCreate", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserShutdownBlockReasonDestroy", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserShutdownBlockReasonQuery", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserUnregisterSessionPort", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{0,0},"NtUserUpdateWindowTransform", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
/***************************************************/
/* Added in Win7 */
{{WIN7,0},"NtUserCalculatePopupWindowPosition", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserChangeWindowMessageFilterEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserDesktopHasWatermarkText", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserDisplayConfigGetDeviceInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserDisplayConfigSetDeviceInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetDisplayConfigBufferSizes", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetGestureConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetGestureExtArgs", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetGestureInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetInputLocaleInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetTopLevelWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetTouchInputInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetWindowCompositionAttribute", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetWindowCompositionInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserGetWindowDisplayAffinity", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserHwndQueryRedirectionInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserHwndSetRedirectionInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserInjectGesture", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserIsTopLevelWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserIsTouchWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserMagControl", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserMagGetContextInformation", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserMagSetContextInformation", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserManageGestureHandlerWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserModifyWindowTouchCapability", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserQueryDisplayConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSendTouchInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSetChildWindowNoActivate", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSetDisplayConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSetGestureConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSetWindowCompositionAttribute", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSetWindowDisplayAffinity", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDestroyLogicalSurfaceBinding", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxBindSwapChain", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxGetSwapChainStats", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxOpenSwapChain", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxQuerySwapChainBindingStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxReleaseSwapChain", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxReportPendingBindingsToDwm", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxSetSwapChainBindingStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmDxSetSwapChainStats", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN7,0},"NtUserSfmGetLogicalSurfaceBinding", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
/***************************************************/
/* Added in Win8 */
/* FIXME i#1153: fill in details */
{{WIN8,0},"NtUserAcquireIAMKey", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserAutoPromoteMouseInPointer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserCanBrokerForceForeground", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserCheckProcessForClipboardAccess", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserCheckProcessSession", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,WIN8}, "NtUserCreateDCompositionHwndTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN81,0},"NtUserCreateDCompositionHwndTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserDeferWindowPosAndBand", UNKNOWN, DRSYS_TYPE_UNKNOWN, 10, },
{{WIN8,0},"NtUserDelegateCapturePointers", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserDelegateInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 6, },
{{WIN8,0},"NtUserDestroyDCompositionHwndTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserDisableImmersiveOwner", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserDisableProcessWindowFiltering", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserDiscardPointerFrameMessages", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserDwmGetRemoteSessionOcclusionEvent", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserDwmGetRemoteSessionOcclusionState", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserDwmValidateWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserEnableIAMAccess", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserEnableMouseInPointer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserEnableMouseInputForCursorSuppression", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserGetAutoRotationState", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserGetCIMSSM", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserGetClipboardAccessToken", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetCurrentInputMessageSource", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserGetDesktopID", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetDisplayAutoRotationPreferencesByProcessId", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserGetDisplayAutoRotationPreferences", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,WIN8},"NtUserGetGlobalIMEStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetPointerCursorId", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetPointerDevice", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetPointerDeviceCursors", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserGetPointerDeviceProperties", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserGetPointerDeviceRects", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserGetPointerDevices", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetPointerInfoList", UNKNOWN, DRSYS_TYPE_UNKNOWN, 8, },
{{WIN8,0},"NtUserGetPointerType", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserGetProcessUIContextInformation", OK, DRSYS_TYPE_BOOL, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(PROCESS_UI_CONTEXT), W,},
}
},
{{WIN8,0},"NtUserGetQueueEventStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserGetRawPointerDeviceData", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN8,0},"NtUserGetTouchValidationStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserGetWindowBand", OK, DRSYS_TYPE_BOOL, 2,
{
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},
{1, sizeof(DWORD), W|HT, DRSYS_TYPE_UNSIGNED_INT},
}
},
{{WIN8,0},"NtUserGetWindowFeedbackSetting", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN8,0},"NtUserHandleDelegatedInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserHidePointerContactVisualization", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserInitializeTouchInjection", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserInjectTouchInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserInternalClipCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserIsMouseInPointerEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserIsMouseInputEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,WIN8}, "NtUserLayoutCompleted", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN81,0},"NtUserLayoutCompleted", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserPromotePointer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserQueryBSDRWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserRegisterBSDRWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserRegisterEdgy", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserRegisterPointerDeviceNotifications", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserRegisterPointerInputTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,0},"NtUserRegisterTouchHitTestingWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserSendEventMessage", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN8,0},"NtUserSetActiveProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetAutoRotation", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetBrokeredForeground", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetCalibrationData", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN8,0},"NtUserSetDisplayAutoRotationPreferences", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetDisplayMapping", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserSetFallbackForeground", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserSetImmersiveBackgroundWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetProcessRestrictionExemption", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN8,0},"NtUserSetProcessUIAccessZorder", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserSetThreadInputBlocked", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserSetWindowBand", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN8,WIN8}, "NtUserSetWindowCompositionTransition", UNKNOWN, DRSYS_TYPE_UNKNOWN, 6, },
{{WIN81,0},"NtUserSetWindowCompositionTransition", UNKNOWN, DRSYS_TYPE_UNKNOWN, 7, },
{{WIN8,0},"NtUserSetWindowFeedbackSetting", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN8,0},"NtUserSignalRedirectionStartComplete", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN8,0},"NtUserSlicerControl", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN8,0},"NtUserUndelegateInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserUpdateDefaultDesktopThumbnail", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN8,0},"NtUserWaitAvailableMessageEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN8,0},"NtUserWaitForRedirectionStartComplete", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
/***************************************************/
/* Added in Windows 8.1 */
/* FIXME i#1360: fill in details */
{{WIN81,0},"NtUserClearForeground", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN81,0},"NtUserCompositionInputSinkLuidFromPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserEnableTouchPad", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN81,0},"NtUserGetCursorDims", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN81,0},"NtUserGetDpiForMonitor", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN81,0},"NtUserGetHimetricScaleFactorFromPixelLocation", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN81,0},"NtUserGetOwnerTransformedMonitorRect", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN81,0},"NtUserGetPhysicalDeviceRect", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserGetPointerInputTransform", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN81,0},"NtUserGetPrecisionTouchPadConfiguration", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN81,0},"NtUserGetProcessDpiAwareness", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserLinkDpiCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN81,0},"NtUserLogicalToPerMonitorDPIPhysicalPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserPerMonitorDPIPhysicalToLogicalPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserRegisterTouchPadCapable", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN81,0},"NtUserReportInertia", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN81,0},"NtUserSetActivationFilter", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN81,0},"NtUserSetPrecisionTouchPadConfiguration", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN81,0},"NtUserTransformPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN81,0},"NtUserTransformRect", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN81,0},"NtUserUpdateWindowInputSinkHints", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
/***************************************************/
/* Added in Windows 10 */
/* FIXME i#1750: fill in details */
{{WIN10,0},"NtCreateImplicitCompositionInputSink", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtDCompositionCapturePointer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtDCompositionDuplicateSwapchainHandleToDwm", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtDCompositionEnableDDASupport", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN10,0},"NtDCompositionEnableMMCSS", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtDCompositionGetAnimationTime", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtDCompositionRegisterVirtualDesktopVisual", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtDCompositionSetChannelCallbackId", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtDCompositionSetResourceCallbackId", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtDCompositionSetVisualInputSink", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtDCompositionUpdatePointerCapture", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtDesktopCaptureBits", UNKNOWN, DRSYS_TYPE_UNKNOWN, 8, },
{{WIN10,0},"NtHWCursorUpdatePointer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtQueryCompositionInputIsImplicit", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtQueryCompositionInputQueueAndTransform", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtQueryCompositionInputSinkViewId", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtRIMAddInputObserver", UNKNOWN, DRSYS_TYPE_UNKNOWN, 7, },
{{WIN10,0},"NtRIMGetDevicePreparsedDataLockfree", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtRIMObserveNextInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtRIMRemoveInputObserver", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtRIMUpdateInputObserverRegistration", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtSetCompositionSurfaceAnalogExclusive", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtTokenManagerConfirmOutstandingAnalogToken", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN10,0},"NtTokenManagerGetAnalogExclusiveSurfaceUpdates", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN10,0},"NtTokenManagerGetAnalogExclusiveTokenEvent", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtTokenManagerOpenSectionAndEvents", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtUserDwmKernelShutdown", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN10,0},"NtUserDwmKernelStartup", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN10,0},"NtUserEnableChildWindowDpiMessage", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserGetDManipHookInitFunction", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserGetDpiMetrics", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserGetPointerFrameArrivalTimes", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserInitializeInputDeviceInjection", UNKNOWN, DRSYS_TYPE_UNKNOWN, 7, },
{{WIN10,0},"NtUserInitializePointerDeviceInjection", UNKNOWN, DRSYS_TYPE_UNKNOWN, 5, },
{{WIN10,0},"NtUserInjectDeviceInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserInjectKeyboardInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserInjectMouseInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserInjectPointerInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserIsChildWindowDpiMessageEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtUserIsWindowBroadcastingDpiToChildren", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtUserNavigateFocus", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserRegisterDManipHook", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtUserRegisterManipulationThread", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN10,0},"NtUserRegisterShellPTPListener", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserReleaseDwmHitTestWaiters", UNKNOWN, DRSYS_TYPE_UNKNOWN, 0, },
{{WIN10,0},"NtUserSetActiveProcessForMonitor", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserSetCoreWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtUserSetCoreWindowPartner", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserSetFeatureReportResponse", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserSetManipulationInputTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 4, },
{{WIN10,0},"NtUserSetWindowArrangement", UNKNOWN, DRSYS_TYPE_UNKNOWN, 3, },
{{WIN10,0},"NtUserSetWindowShowState", UNKNOWN, DRSYS_TYPE_UNKNOWN, 2, },
{{WIN10,0},"NtVisualCaptureBits", UNKNOWN, DRSYS_TYPE_UNKNOWN, 9, },
/* Added in Windows 10 1511 */
/* FIXME i#1750: fill in details */
{{WIN11,0},"NtCompositionSetDropTarget", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN11,0},"NtDCompositionAttachMouseWheelToHwnd", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN11,0},"NtSetCompositionSurfaceBufferCompositionModeAndOrientation", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN11,0},"NtUserRemoveInjectionDevice", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN11,0},"NtUserUpdateWindowTrackingInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
/* Added in Windows 10 1607 */
/* FIXME i#1750: fill in details */
{{WIN12,0},"NtDCompositionProcessChannelBatchBuffer", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtQueryCompositionSurfaceHDRMetaData", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtSetCompositionSurfaceDirectFlipState", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtSetCompositionSurfaceHDRMetaData", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserAcquireInteractiveControlBackgroundAccess", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserBroadcastThemeChangeEvent", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserEnableNonClientDpiScaling", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserGetInteractiveControlDeviceInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserGetInteractiveControlInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserGetProcessDpiAwarenessContext", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserGetQueueStatusReadonly", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserInheritWindowMonitor", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserInteractiveControlQueryUsage", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserIsNonClientDpiScalingEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSendInteractiveControlHapticsReport", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSetInteractiveControlFocus", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSetInteractiveCtrlRotationAngle", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSetProcessDpiAwarenessContext", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSetProcessInteractionFlags", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
{{WIN12,0},"NtUserSystemParametersInfoForDpi", UNKNOWN, DRSYS_TYPE_UNKNOWN, 1, },
/* Added in Windows 10 1703 */
/* FIXME i#1750: fill in details */
{{WIN13,0},"NtDCompositionCommitSynchronizationObject", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtDCompositionCreateSharedVisualHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtDCompositionSetChildRootVisual", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITActivateInputProcessing", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITBindInputTypeToMonitors", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITCoreMsgKGetConnectionHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITCoreMsgKOpenConnectionTo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITCoreMsgKSend", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITDeactivateInputProcessing", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITDisableMouseIntercept", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITEnableMouseIntercept", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITSetInputCallbacks", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITSynthesizeMouseInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITSynthesizeMouseWheel", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITSynthesizeTouchInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITUpdateInputGlobals", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtMITWaitForMultipleObjectsEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMAreSiblingDevices", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMDeviceIoControl", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMFreeInputBuffer", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMGetDevicePreparsedData", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMGetDeviceProperties", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMGetDevicePropertiesLockfree", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMGetPhysicalDeviceRect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMGetSourceProcessId", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMOnPnpNotification", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMOnTimerNotification", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMReadInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMRegisterForInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMSetTestModeStatus", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtRIMUnregisterForInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtSetCompositionSurfaceBufferUsage", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserBeginLayoutUpdate", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserCompositionInputSinkViewInstanceIdFromPoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserConfirmResizeCommit", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserEnableResizeLayoutSynchronization", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserEnableWindowGDIScaledDpiMessage", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserEnableWindowResizeOptimization", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserFunctionalizeDisplayConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserGetInteractiveCtrlSupportedWaveforms", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserGetResizeDCompositionSynchronizationObject", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserInitializeGenericHidInjection", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserInitializePointerDeviceInjectionEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserInjectGenericHidInput", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserIsResizeLayoutSynchronizationEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserIsWindowGDIScaledDpiMessageEnabled", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserLockCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserProcessInkFeedbackCommand", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN13,0},"NtUserSetDialogControlDpiChangeBehavior", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
/* Added in Windows 10 1709 */
/* FIXME i#1750: fill in details */
{{WIN14,0},"NtDWMBindCursorToOutputConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtDWMCommitInputSystemOutputConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtDWMSetCursorOrientation", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtDWMSetInputSystemOutputConfig", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtFlipObjectAddPoolBuffer", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtFlipObjectCreate", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtFlipObjectOpen", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtFlipObjectRemovePoolBuffer", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtMITGetCursorUpdateHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtRIMEnableMonitorMappingForDevice", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserCreateEmptyCursorObject", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserGetActiveProcessesDpis", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserGetCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserGetDpiForCurrentProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserGetHDevName", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserMsgWaitForMultipleObjectsEx", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserReleaseDC", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserSetCursorPos", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserSetDesktopColorTransform", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserSetTargetForResourceBrokering", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserShowCursor", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserStopAndEndInertia", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserWOWCleanup", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN14,0},"NtUserWindowFromDC", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
/* Added in Windows 10 1803 */
/* FIXME i#1750: fill in details */
{{WIN15,0},"NtCloseCompositionInputSink", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDCompositionCreateSynchronizationObject", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDCompositionGetBatchId", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDCompositionSuspendAnimations", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkGetProcessList", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkRegisterVailProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkSubmitPresentBltToHwQueue", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkVailConnect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkVailDisconnect", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtDxgkVailPromoteCompositionSurface", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtEnableOneCoreTransformMode", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectAddContent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerAcquirePresent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerAdjustUsageReference", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerBeginProcessPresent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerEndProcessPresent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerPostMessage", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectConsumerQueryBufferInfo", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectDisconnectEndpoint", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectQueryBufferAvailableEvent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectQueryEndpointConnected", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectQueryNextMessageToProducer", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectReadNextMessageToProducer", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectRemoveContent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtFlipObjectSetContent", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtIsOneCoreTransformMode", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtMITDispatchCompletion", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtMITSetInputDelegationMode", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtMITSetLastInputRecipient", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtMapVisualRelativePoints", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtTokenManagerCreateFlipObjectReturnTokenHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtTokenManagerCreateFlipObjectTokenHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserCreatePalmRejectionDelayZone", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserCreateWindowGroup", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserDeleteWindowGroup", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserDestroyPalmRejectionDelayZone", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserEnableSoftwareCursorForScreenCapture", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserEnableWindowGroupPolicy", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserGetMonitorBrightness", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserGetOemBitmapSize", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserGetSystemDpiForProcess", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserGetWindowGroupId", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserGetWindowProcessHandle", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserLogicalToPhysicalDpiPointForWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserPhysicalToLogicalDpiPointForWindow", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserRequestMoveSizeOperation", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserSetBridgeWindowChild", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserSetDimUndimTransitionTime", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserSetMonitorBrightness", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
{{WIN15,0},"NtUserSetWindowGroup", UNKNOWN, DRSYS_TYPE_UNKNOWN, },
};
#define NUM_USER32_SYSCALLS \
(sizeof(syscall_user32_info)/sizeof(syscall_user32_info[0]))
size_t
num_user32_syscalls(void)
{
return NUM_USER32_SYSCALLS;
}