mirror of
https://github.com/processhacker/phnt
synced 2026-06-08 16:49:04 +00:00
3254 lines
73 KiB
C
3254 lines
73 KiB
C
/*
|
|
* Win32k NT User definitions.
|
|
*
|
|
* This file is part of System Informer.
|
|
*/
|
|
|
|
#ifndef _NTUSER_H
|
|
#define _NTUSER_H
|
|
|
|
typedef enum _USERTHREADINFOCLASS USERTHREADINFOCLASS;
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserAttachThreadInput(
|
|
_In_ ULONG IdAttach,
|
|
_In_ ULONG IdAttachTo,
|
|
_In_ BOOL Attach
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HDC
|
|
NTAPI
|
|
NtUserBeginPaint(
|
|
_In_ HWND WindowHandle,
|
|
_Inout_ LPPAINTSTRUCT lpPaint
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserBlockInput(
|
|
_In_ BOOL BlockInput
|
|
);
|
|
|
|
#define FW_BOTH 0
|
|
#define FW_16BIT 1
|
|
#define FW_32BIT 2
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserFindWindowEx(
|
|
_In_opt_ HWND hwndParent,
|
|
_In_opt_ HWND hwndChild,
|
|
_In_ PCUNICODE_STRING ClassName,
|
|
_In_ PCUNICODE_STRING WindowName,
|
|
_In_ ULONG Type // FW_*
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserBuildHwndList(
|
|
_In_opt_ HANDLE DesktopHandle,
|
|
_In_opt_ HWND ParentWindowHandle,
|
|
_In_opt_ BOOL IncludeChildren,
|
|
_In_opt_ BOOL ExcludeImmersive,
|
|
_In_opt_ ULONG ThreadId,
|
|
_In_ ULONG HwndListInformationLength,
|
|
_Out_writes_bytes_(HwndListInformationLength) PVOID HwndListInformation,
|
|
_Out_ PULONG ReturnLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserBuildNameList(
|
|
_In_ HWINSTA WindowStationHandle, // GetProcessWindowStation
|
|
_In_ ULONG NameListInformationLength,
|
|
_Out_writes_bytes_(NameListInformationLength) PVOID NameListInformation,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserBuildPropList(
|
|
_In_ HWINSTA WindowStationHandle,
|
|
_In_ ULONG PropListInformationLength,
|
|
_Out_writes_bytes_(PropListInformationLength) PVOID PropListInformation,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserCanCurrentThreadChangeForeground(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserCalculatePopupWindowPosition(
|
|
_In_ const POINT* anchorPoint,
|
|
_In_ const SIZE* windowSize,
|
|
_In_ ULONG flags,
|
|
_Inout_ RECT* excludeRect,
|
|
_Inout_ RECT* popupWindowPosition
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserCheckAccessForIntegrityLevel(
|
|
_In_ ULONG ProcessIdFirst,
|
|
_In_ ULONG ProcessIdSecond,
|
|
_Out_ PBOOLEAN GrantedAccess
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserCheckProcessForClipboardAccess(
|
|
_In_ ULONG ProcessId,
|
|
_Out_ PULONG GrantedAccess
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserCloseWindowStation(
|
|
_In_ HWINSTA WindowStationHandle
|
|
);
|
|
|
|
#if (PHNT_VERSION >= PHNT_WINDOWS_8)
|
|
/**
|
|
* The NtUserDisableProcessWindowFiltering routine disables window filtering
|
|
* so you can enumerate immersive windows from the desktop.
|
|
*
|
|
* \return Successful or errant status.
|
|
* \sa https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests#disableWindowFiltering
|
|
*/
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDisableProcessWindowFiltering(
|
|
VOID
|
|
);
|
|
#endif
|
|
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
NtUserGetProp(
|
|
_In_ HWND WindowHandle,
|
|
_In_ PCWSTR String
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
NtUserGetProp2(
|
|
_In_ HWND WindowHandle,
|
|
_In_ PCUNICODE_STRING String
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserCreateWindowStation(
|
|
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
|
_In_ ACCESS_MASK DesiredAccess,
|
|
_In_opt_ HANDLE KeyboardLayoutHandle,
|
|
_In_opt_ PVOID KeyboardLayoutOffset,
|
|
_In_opt_ PVOID NlsTableOffset,
|
|
_In_opt_ PVOID KeyboardDescriptor,
|
|
_In_opt_ PCUNICODE_STRING LanguageIdString,
|
|
_In_opt_ ULONG KeyboardLocale
|
|
);
|
|
|
|
typedef enum _CONSOLECONTROL
|
|
{
|
|
ConsoleSetVDMCursorBounds = 0, // RECT
|
|
ConsoleNotifyConsoleApplication = 1, // CONSOLE_PROCESS_INFO
|
|
ConsoleFullscreenSwitch = 2,
|
|
ConsoleSetCaretInfo = 3, // CONSOLE_CARET_INFO
|
|
ConsoleSetReserveKeys = 4,
|
|
ConsoleSetForeground = 5, // CONSOLESETFOREGROUND
|
|
ConsoleSetWindowOwner = 6, // CONSOLEWINDOWOWNER
|
|
ConsoleEndTask = 7, // CONSOLEENDTASK
|
|
} CONSOLECONTROL;
|
|
|
|
#define CPI_NEWPROCESSWINDOW 0x0001
|
|
|
|
typedef struct _CONSOLE_PROCESS_INFO
|
|
{
|
|
ULONG ProcessID;
|
|
ULONG Flags;
|
|
} CONSOLE_PROCESS_INFO, *PCONSOLE_PROCESS_INFO;
|
|
|
|
typedef struct _CONSOLE_CARET_INFO
|
|
{
|
|
HWND WindowHandle;
|
|
RECT Rect;
|
|
} CONSOLE_CARET_INFO, *PCONSOLE_CARET_INFO;
|
|
|
|
typedef struct _CONSOLESETFOREGROUND
|
|
{
|
|
HANDLE ProcessHandle;
|
|
BOOL Foreground;
|
|
} CONSOLESETFOREGROUND, *PCONSOLESETFOREGROUND;
|
|
|
|
typedef struct _CONSOLEWINDOWOWNER
|
|
{
|
|
HWND WindowHandle;
|
|
ULONG ProcessId;
|
|
ULONG ThreadId;
|
|
} CONSOLEWINDOWOWNER, *PCONSOLEWINDOWOWNER;
|
|
|
|
typedef struct _CONSOLEENDTASK
|
|
{
|
|
HANDLE ProcessId;
|
|
HWND WindowHandle;
|
|
ULONG ConsoleEventCode;
|
|
ULONG ConsoleFlags;
|
|
} CONSOLEENDTASK, *PCONSOLEENDTASK;
|
|
|
|
/**
|
|
* Performs special kernel operations for console host applications. (win32u.dll)
|
|
*
|
|
* This includes reparenting the console window, allowing the console to pass foreground rights
|
|
* on to launched console subsystem applications and terminating attached processes.
|
|
*
|
|
* \param Command One of the CONSOLECONTROL values indicating which console control function should be executed.
|
|
* \param ConsoleInformation A pointer to one of the structures specifying additional data for the requested console control function.
|
|
* \param ConsoleInformationLength The size of the structure pointed to by the ConsoleInformation parameter.
|
|
* \return Successful or errant status.
|
|
*/
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserConsoleControl(
|
|
_In_ CONSOLECONTROL Command,
|
|
_In_reads_bytes_(ConsoleInformationLength) PVOID ConsoleInformation,
|
|
_In_ ULONG ConsoleInformationLength
|
|
);
|
|
|
|
/**
|
|
* Performs special kernel operations for console host applications. (user32.dll)
|
|
*
|
|
* This includes reparenting the console window, allowing the console to pass foreground rights
|
|
* on to launched console subsystem applications and terminating attached processes.
|
|
*
|
|
* \param Command One of the CONSOLECONTROL values indicating which console control function should be executed.
|
|
* \param ConsoleInformation A pointer to one of the structures specifying additional data for the requested console control function.
|
|
* \param ConsoleInformationLength The size of the structure pointed to by the ConsoleInformation parameter.
|
|
* \return Successful or errant status.
|
|
*/
|
|
NTSYSAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
ConsoleControl(
|
|
_In_ CONSOLECONTROL Command,
|
|
_In_reads_bytes_(ConsoleInformationLength) PVOID ConsoleInformation,
|
|
_In_ ULONG ConsoleInformationLength
|
|
);
|
|
|
|
/**
|
|
* The NtUserGetClassName routine retrieves a string that specifies the window type.
|
|
*
|
|
* \param WindowHandle A handle to the window and, indirectly, the class to which the window belongs.
|
|
* \param RealClassName Return the superclass or baseclass name when the window is a superclass.
|
|
* \param ClassName A pointer to a string that receives the window type.
|
|
* \return A handle to the foreground window, or NULL if no foreground window exists.
|
|
* \sa https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-realgetwindowclassw
|
|
*/
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetClassName(
|
|
_In_ HWND WindowHandle,
|
|
_In_ BOOL RealClassName,
|
|
_Out_ PUNICODE_STRING ClassName
|
|
);
|
|
|
|
/**
|
|
* The NtUserGetForegroundWindow routine retrieves a handle to the foreground window.
|
|
*
|
|
* \return A handle to the foreground window, or NULL if no foreground window exists.
|
|
* \sa https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getforegroundwindow
|
|
*/
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserGetForegroundWindow(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetIconInfo(
|
|
_In_ HICON IconOrCursorHandle,
|
|
_Out_ PICONINFO Iconinfo,
|
|
_Inout_opt_ PUNICODE_STRING Name,
|
|
_Inout_opt_ PUNICODE_STRING ResourceId,
|
|
_Out_opt_ PULONG ColorBits,
|
|
_In_ LOGICAL IsCursorHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetIconSize(
|
|
_In_ HGDIOBJ IconOrCursorHandle,
|
|
_In_ LOGICAL IsCursorHandle,
|
|
_Out_ PULONG XX,
|
|
_Out_ PULONG YY
|
|
);
|
|
|
|
/**
|
|
* The NtUserGetProcessWindowStation routine retrieves the window station handle associated with the current process.
|
|
*
|
|
* \return A handle to the window station, or NULL if the operation fails.
|
|
* \sa https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getprocesswindowstation
|
|
*/
|
|
NTSYSCALLAPI
|
|
HWINSTA
|
|
NTAPI
|
|
NtUserGetProcessWindowStation(
|
|
VOID
|
|
);
|
|
|
|
typedef enum _PROCESS_UICONTEXT
|
|
{
|
|
PROCESS_UICONTEXT_DESKTOP,
|
|
PROCESS_UICONTEXT_IMMERSIVE,
|
|
PROCESS_UICONTEXT_IMMERSIVE_BROKER,
|
|
PROCESS_UICONTEXT_IMMERSIVE_BROWSER
|
|
} PROCESS_UICONTEXT;
|
|
|
|
typedef enum _PROCESS_UI_FLAGS
|
|
{
|
|
PROCESS_UIF_NONE,
|
|
PROCESS_UIF_AUTHORING_MODE,
|
|
PROCESS_UIF_RESTRICTIONS_DISABLED
|
|
} PROCESS_UI_FLAGS;
|
|
DEFINE_ENUM_FLAG_OPERATORS(PROCESS_UI_FLAGS);
|
|
|
|
typedef struct _PROCESS_UICONTEXT_INFORMATION
|
|
{
|
|
PROCESS_UICONTEXT ProcessUIContext;
|
|
PROCESS_UI_FLAGS Flags;
|
|
} PROCESS_UICONTEXT_INFORMATION, *PPROCESS_UICONTEXT_INFORMATION;
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserGetProcessUIContextInformation(
|
|
_In_ HANDLE ProcessHandle,
|
|
_Out_ PPROCESS_UICONTEXT_INFORMATION UIContext
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
GetProcessUIContextInformation(
|
|
_In_ HANDLE ProcessHandle,
|
|
_Out_ PPROCESS_UICONTEXT_INFORMATION UIContext
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserGetThreadState(
|
|
_In_ ULONG UserThreadState
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserGhostWindowFromHungWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSAPI
|
|
HWND
|
|
NTAPI
|
|
GhostWindowFromHungWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserHungWindowFromGhostWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSAPI
|
|
HWND
|
|
NTAPI
|
|
HungWindowFromGhostWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserInternalGetWindowText(
|
|
_In_ HWND WindowHandle,
|
|
_Out_writes_to_(cchMaxCount, return + 1) LPWSTR pString,
|
|
_In_ ULONG cchMaxCount
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HICON
|
|
NTAPI
|
|
NtUserInternalGetWindowIcon(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ULONG IconType
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
NtUserOpenDesktop(
|
|
_In_ PCOBJECT_ATTRIBUTES ObjectAttributes,
|
|
_In_ ULONG Flags,
|
|
_In_ ACCESS_MASK DesiredAccess
|
|
);
|
|
|
|
/**
|
|
* Opens the specified window station.
|
|
*
|
|
* \param ObjectAttributes The name of the window station to be opened. Window station names are case-insensitive. This window station must belong to the current session.
|
|
* \param DesiredAccess The access to the window station.
|
|
* \return Successful or errant status.
|
|
*/
|
|
NTSYSCALLAPI
|
|
HWINSTA
|
|
NTAPI
|
|
NtUserOpenWindowStation(
|
|
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
|
_In_ ACCESS_MASK DesiredAccess
|
|
);
|
|
|
|
typedef enum _WINDOWINFOCLASS
|
|
{
|
|
WindowProcess = 0, // q: ULONG (Process ID)
|
|
WindowRealProcess = 1, // q: ULONG (Process ID)
|
|
WindowThread = 2, // q: ULONG (Thread ID)
|
|
WindowActiveWindow = 3, // q: HWND
|
|
WindowFocusWindow = 4, // q: HWND
|
|
WindowIsHung = 5, // q: BOOLEAN
|
|
WindowClientBase = 6, // q: PVOID
|
|
WindowIsForegroundThread = 7, // q: BOOLEAN
|
|
WindowDefaultImeWindow = 8, // q: HWND
|
|
WindowDefaultInputContext = 9, // q: HIMC
|
|
} WINDOWINFOCLASS, *PWINDOWINFOCLASS;
|
|
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserQueryWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ WINDOWINFOCLASS WindowInfo
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserSetActiveWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetChildWindowNoActivate(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserSetFocus(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
// User32 ordinal 2005
|
|
NTSYSAPI
|
|
BOOL
|
|
NTAPI
|
|
SetChildWindowNoActivate(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetInformationThread(
|
|
_In_ HANDLE ThreadHandle,
|
|
_In_ USERTHREADINFOCLASS ThreadInformationClass,
|
|
_In_reads_bytes_(ThreadInformationLength) PVOID ThreadInformation,
|
|
_In_ ULONG ThreadInformationLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetProcessWindowStation(
|
|
_In_ HWINSTA WindowStationHandle
|
|
);
|
|
|
|
// rev // Valid bit masks enforced by NtUserSetProcessWin32Capabilities
|
|
#define PROC_CAP_FLAGS1_VALID_MASK 0x00000007u // bits 0-2
|
|
#define PROC_CAP_FLAGS2_VALID_MASK 0x00000007u // bits 0-2
|
|
#define PROC_CAP_ENABLE_VALID_MASK 0x00000001u // bit 0
|
|
#define PROC_CAP_DISABLE_VALID_MASK 0x00000001u // bit 0
|
|
|
|
#define PROC_CAP_FLAGS1_BIT0 0x00000001u
|
|
#define PROC_CAP_FLAGS1_BIT1 0x00000002u
|
|
#define PROC_CAP_FLAGS1_BIT2 0x00000004u
|
|
|
|
#define PROC_CAP_FLAGS2_BIT0 0x00000001u
|
|
#define PROC_CAP_FLAGS2_BIT1 0x00000002u
|
|
#define PROC_CAP_FLAGS2_BIT2 0x00000004u
|
|
|
|
#define PROC_CAP_ENABLE_BIT0 0x00000001u
|
|
#define PROC_CAP_DISABLE_BIT0 0x00000001u
|
|
|
|
#define PROC_CAP_FLAGS1_INVALID(x) (((x) & ~PROC_CAP_FLAGS1_VALID_MASK) != 0)
|
|
#define PROC_CAP_FLAGS2_INVALID(x) (((x) & ~PROC_CAP_FLAGS2_VALID_MASK) != 0)
|
|
#define PROC_CAP_ENABLE_INVALID(x) (((x) & ~PROC_CAP_ENABLE_VALID_MASK) != 0)
|
|
#define PROC_CAP_DISABLE_INVALID(x) (((x) & ~PROC_CAP_DISABLE_VALID_MASK) != 0)
|
|
|
|
// rev
|
|
typedef struct _USER_PROCESS_CAP_ENTRY
|
|
{
|
|
HANDLE ProcessHandle;
|
|
ULONG Flags1;
|
|
ULONG Flags2;
|
|
ULONG EnableMask;
|
|
ULONG DisableMask;
|
|
} USER_PROCESS_CAP_ENTRY, *PUSER_PROCESS_CAP_ENTRY;
|
|
|
|
// rev
|
|
typedef struct _USER_PROCESS_CAP_INTERNAL
|
|
{
|
|
PVOID ProcessObject;
|
|
ULONG SessionId;
|
|
ULONG Reserved;
|
|
ULONGLONG FlagsPacked;
|
|
ULONGLONG CapabilityPacked;
|
|
} USER_PROCESS_CAP_INTERNAL, *PUSER_PROCESS_CAP_INTERNAL;
|
|
|
|
// rev
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetProcessWin32Capabilities(
|
|
_In_reads_(Count) const USER_PROCESS_CAP_ENTRY* Capabilities,
|
|
_In_ ULONG Count
|
|
);
|
|
|
|
// rev
|
|
/**
|
|
* The NtUserSetProcessRestrictionExemption routine marks the current process as exempt from certain win32k/user restrictions.
|
|
* Note: This requires a developer mode/license check.
|
|
*
|
|
* \param Enable Indicates whether to enable or disable the exemption.
|
|
* \return Successful or errant status.
|
|
*/
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetProcessRestrictionExemption(
|
|
_In_ BOOL EnableExemption
|
|
);
|
|
|
|
// rev
|
|
/**
|
|
* The NtUserSetProcessUIAccessZorder routine tweaks window z-order behavior for UIAccess scenarios.
|
|
* Note: Set only when the process is not elevated.
|
|
*
|
|
* \return Successful or errant status.
|
|
*/
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetProcessUIAccessZorder(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetWindowPlacement(
|
|
_In_ HWND WindowHandle,
|
|
_Inout_ const WINDOWPLACEMENT* lpwndpl
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetWindowStationUser(
|
|
_In_ HWINSTA WindowStationHandle,
|
|
_In_ PLUID UserLogonId,
|
|
_In_ PSID UserSid,
|
|
_In_ ULONG UserSidLength
|
|
);
|
|
|
|
NTSYSAPI
|
|
BOOL
|
|
NTAPI
|
|
SetWindowStationUser(
|
|
_In_ HWINSTA WindowStationHandle,
|
|
_In_ PLUID UserLogonId,
|
|
_In_ PSID UserSid,
|
|
_In_ ULONG UserSidLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserTestForInteractiveUser(
|
|
_In_ PLUID AuthenticationId
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSwitchDesktop(
|
|
_In_ HDESK DesktopHandle,
|
|
_In_opt_ ULONG Flags,
|
|
_In_opt_ ULONG FadeTime
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetThreadDesktop(
|
|
_In_ HDESK DesktopHandle
|
|
);
|
|
|
|
NTSYSAPI
|
|
HWND
|
|
NTAPI
|
|
ChildWindowFromPoint(
|
|
_In_ HWND WindowHandle,
|
|
_In_ POINT pt
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserChildWindowFromPointEx(
|
|
_In_ HWND WindowHandle,
|
|
_In_ POINT pt,
|
|
_In_ ULONG flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserClipCursor(
|
|
_In_ const RECT* lpRect
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserCloseDesktop(
|
|
_In_ HDESK DesktopHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
LONG
|
|
NTAPI
|
|
NtUserCopyAcceleratorTable(
|
|
_In_ HACCEL hAccelSrc,
|
|
_In_ LPACCEL lpAccelDst,
|
|
_In_ LONG cAccelEntries
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HACCEL
|
|
NTAPI
|
|
NtUserCreateAcceleratorTable(
|
|
_In_ LPACCEL paccel,
|
|
_In_ LONG cAccel
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDeleteMenu(
|
|
_In_ HMENU MenuHandle,
|
|
_In_ ULONG Position,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDestroyMenu(
|
|
_In_ HMENU MenuHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDestroyWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDragDetect(
|
|
_In_ HWND WindowHandle,
|
|
_In_ POINT pt
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserDragObject(
|
|
_In_ HWND WindowHandleParent,
|
|
_In_ HWND WindowHandleFrom,
|
|
_In_ ULONG fmt,
|
|
_In_ ULONG_PTR data,
|
|
_In_ HCURSOR hcur
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserDrawAnimatedRects(
|
|
_In_ HWND WindowHandle,
|
|
_In_ int idAni,
|
|
_In_ const RECT* lprcFrom,
|
|
_In_ const RECT* lprcTo
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserEndMenu(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserEndPaint(
|
|
_In_ HWND WindowHandle,
|
|
_Inout_ const PAINTSTRUCT* lpPaint
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserEnumDisplayMonitors(
|
|
_In_ HDC hdc,
|
|
_In_ LPCRECT lprcClip,
|
|
_In_ MONITORENUMPROC lpfnEnum,
|
|
_In_ LPARAM dwData
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HRGN
|
|
NTAPI
|
|
NtUserExcludeUpdateRgn(
|
|
_In_ HDC hDC,
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserFlashWindowEx(
|
|
_In_ PFLASHWINFO pfwi
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserGetAncestor(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ULONG gaFlags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetCaretBlinkTime(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetCaretPos(
|
|
_In_ LPPOINT lpPoint
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetClipCursor(
|
|
_In_ LPRECT lpRect
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetComboBoxInfo(
|
|
_In_ HWND WindowHandleCombo,
|
|
_Inout_ PCOMBOBOXINFO pcbi
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetCurrentInputMessageSource(
|
|
_Inout_ INPUT_MESSAGE_SOURCE* InputMessageSource
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HCURSOR
|
|
NTAPI
|
|
NtUserGetCursor(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetCursorInfo(
|
|
_In_ PCURSORINFO pci
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HDC
|
|
NTAPI
|
|
NtUserGetDCEx(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HRGN hrgnClip,
|
|
_In_ ULONG flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetDisplayAutoRotationPreferences(
|
|
_In_ ORIENTATION_PREFERENCE* pOrientation
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetDoubleClickTime(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetGUIThreadInfo(
|
|
_In_ ULONG idThread,
|
|
_In_ PGUITHREADINFO pgui
|
|
);
|
|
|
|
#ifndef GR_GDIOBJECTS
|
|
#define GR_GDIOBJECTS 0
|
|
#endif
|
|
#ifndef GR_USEROBJECTS
|
|
#define GR_USEROBJECTS 1
|
|
#endif
|
|
#ifndef GR_GDIOBJECTS_PEAK
|
|
#define GR_GDIOBJECTS_PEAK 2
|
|
#endif
|
|
#ifndef GR_USEROBJECTS_PEAK
|
|
#define GR_USEROBJECTS_PEAK 4
|
|
#endif
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetGuiResources(
|
|
_In_ HANDLE ProcessHandle,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetLayeredWindowAttributes(
|
|
_In_ HWND WindowHandle,
|
|
_Out_opt_ COLORREF* Key,
|
|
_Out_opt_ PBYTE Alpha,
|
|
_Out_opt_ PULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetListBoxInfo(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetMenuBarInfo(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG idObject,
|
|
_In_ LONG idItem,
|
|
_In_ PMENUBARINFO pmbi
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetMenuItemRect(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HMENU MenuHandle,
|
|
_In_ ULONG MenuIndex,
|
|
_In_ PRECT MenuRect
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
LONG
|
|
NTAPI
|
|
NtUserGetMouseMovePointsEx(
|
|
_In_ ULONG MouseMovePointsSize,
|
|
_In_ LPMOUSEMOVEPOINT InputBuffer,
|
|
_Out_ LPMOUSEMOVEPOINT OutputBuffer,
|
|
_In_ LONG OutputBufferCount,
|
|
_In_ ULONG Resolution
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetRawInputData(
|
|
_In_ HRAWINPUT RawInputData,
|
|
_In_ ULONG RawInputCommand,
|
|
_Out_opt_ PVOID RawInputBuffer,
|
|
_Inout_ PULONG RawInputBufferSize,
|
|
_In_ ULONG RawInputHeaderSize
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetRawInputDeviceList(
|
|
_In_ PRAWINPUTDEVICELIST RawInputDeviceList,
|
|
_Inout_ PULONG RawInputDeviceCount,
|
|
_In_ ULONG RawInputDeviceSize
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetRegisteredRawInputDevices(
|
|
_Out_opt_ PRAWINPUTDEVICE RawInputDevices,
|
|
_Inout_ PULONG RawInputDeviceCount,
|
|
_In_ ULONG RawInputDeviceSize
|
|
);
|
|
|
|
NTSYSAPI
|
|
HWND
|
|
NTAPI
|
|
GetSendMessageReceiver(
|
|
_In_ HANDLE ThreadId
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HMENU
|
|
NTAPI
|
|
NtUserGetSystemMenu(
|
|
_In_ HWND WindowHandle,
|
|
_In_ BOOL Revert
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HDESK
|
|
NTAPI
|
|
NtUserGetThreadDesktop(
|
|
_In_ ULONG ThreadId
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetTitleBarInfo(
|
|
_In_ HWND WindowHandle,
|
|
_In_ PTITLEBARINFO pti
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetObjectInformation(
|
|
_In_ HANDLE ObjectHandle,
|
|
_In_ LONG Index,
|
|
_In_ PVOID vInfo,
|
|
_In_ ULONG Length,
|
|
_In_ PULONG LengthNeeded
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HDC
|
|
NTAPI
|
|
NtUserGetWindowDC(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserGetWindowPlacement(
|
|
_In_ HWND WindowHandle,
|
|
_Inout_ PWINDOWPLACEMENT WindowPlacement
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
GetWindowProcessHandle(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ACCESS_MASK DesiredAccess
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
NtUserGetWindowProcessHandle(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ACCESS_MASK DesiredAccess
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserHiliteMenuItem(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HMENU MenuHandle,
|
|
_In_ ULONG IDHiliteItem,
|
|
_In_ ULONG Hilite
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserInvalidateRect(
|
|
_In_ HWND WindowHandle,
|
|
_In_ const RECT* Rect,
|
|
_In_ BOOL Erase
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserInvalidateRgn(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HRGN RgnHandle,
|
|
_In_ BOOL Erase
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserIsTouchWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ PULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserKillTimer(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ULONG_PTR IDEvent
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserLockWorkStation(
|
|
VOID
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserLogicalToPhysicalPoint(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LPPOINT lpPoint
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
LONG
|
|
NTAPI
|
|
NtUserMenuItemFromPoint(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HMENU MenuHandle,
|
|
_In_ POINT ptScreen
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserMoveWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG X,
|
|
_In_ LONG Y,
|
|
_In_ LONG Width,
|
|
_In_ LONG Height,
|
|
_In_ BOOL Repaint
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HDESK
|
|
NTAPI
|
|
NtUserOpenInputDesktop(
|
|
_In_ ULONG Flags,
|
|
_In_ BOOL Inherit,
|
|
_In_ ACCESS_MASK DesiredAccess
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserPhysicalToLogicalPoint(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LPPOINT Point
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserPrintWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ HDC Hdc,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserQueryInformationThread(
|
|
_In_ HANDLE ThreadHandle,
|
|
_In_ USERTHREADINFOCLASS ThreadInformationClass,
|
|
_Out_writes_bytes_(*ReturnLength) PVOID ThreadInformation,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetInformationThread(
|
|
_In_ HANDLE ThreadHandle,
|
|
_In_ USERTHREADINFOCLASS ThreadInformationClass,
|
|
_In_reads_bytes_(ThreadInformationLength) PVOID ThreadInformation,
|
|
_In_ ULONG ThreadInformationLength
|
|
);
|
|
|
|
NTSYSAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserQuerySendMessage(
|
|
_Inout_ PMSG Message
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRaiseLowerShellWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ BOOLEAN SetWithOptions
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserRedrawWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ const PRECT lprcUpdate,
|
|
_In_ HRGN hrgnUpdate,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserRealChildWindowFromPoint(
|
|
_In_ HWND WindowHandleParent,
|
|
_In_ POINT ptParentClientCoords
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserRegisterHotKey(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG Id,
|
|
_In_ ULONG fsModifiers,
|
|
_In_ ULONG vk
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserRemoveMenu(
|
|
_In_ HMENU MenuHandle,
|
|
_In_ ULONG Position,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserSendInput(
|
|
_In_ ULONG Count,
|
|
_In_ LPINPUT Inputs,
|
|
_In_ LONG Size
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserSetActiveWindow(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserSetCapture(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserSetTimer(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ULONG_PTR IDEvent,
|
|
_In_ ULONG Elapse,
|
|
_In_ TIMERPROC TimerFunc,
|
|
_In_ ULONG ToleranceDelay
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
USHORT
|
|
NTAPI
|
|
NtUserSetClassWord(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG Index,
|
|
_In_ USHORT NewWord
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetCursorPos(
|
|
_In_ LONG X,
|
|
_In_ LONG Y
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserSetFocus(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetLayeredWindowAttributes(
|
|
_In_ HWND WindowHandle,
|
|
_In_ COLORREF Key,
|
|
_In_ BYTE Alpha,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserSetWindowPos(
|
|
_In_ HWND WindowHandle,
|
|
_In_opt_ HWND WindowHandleInsertAfter,
|
|
_In_ LONG X,
|
|
_In_ LONG Y,
|
|
_In_ LONG cx,
|
|
_In_ LONG cy,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
FORCEINLINE
|
|
BOOL
|
|
NTAPI
|
|
NtUserBringWindowToTop(
|
|
_In_ HWND WindowHandle
|
|
)
|
|
{
|
|
return NtUserSetWindowPos(
|
|
WindowHandle,
|
|
NULL,
|
|
0, 0, 0, 0,
|
|
3
|
|
);
|
|
}
|
|
|
|
// Send to the window registered with NtUserRegisterCloakedNotification
|
|
// when cloak state of the window has changed
|
|
// wParam - if window cloak state changed contains cloaking value
|
|
// which can be one/all of the below
|
|
// DWM_CLOAKED_APP(0x0000001).The window was cloaked by its owner application.
|
|
// DWM_CLOAKED_SHELL(0x0000002).The window was cloaked by the Shell.
|
|
// 0 - window is not cloaked
|
|
//
|
|
// lParam - 0 (unused)
|
|
//
|
|
#define WM_CLOAKED_STATE_CHANGED 0x0347
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserRegisterCloakedNotification(
|
|
_In_ HWND WindowHandle,
|
|
_In_ BOOL Register
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
USHORT
|
|
NTAPI
|
|
NtUserSetWindowWord(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG Index,
|
|
_In_ USHORT NewWord
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserSetForegroundWindowForApplication(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserShellForegroundBoostProcess(
|
|
_In_ HANDLE ProcessHandle,
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserSetAdditionalForegroundBoostProcesses(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
// rev
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserSetAdditionalPowerThrottlingProcess(
|
|
_In_ HWND WindowHandle,
|
|
_In_ ULONG ProcessHandlesCount,
|
|
_In_reads_(ProcessHandlesCount) PHANDLE ProcessHandles
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
LONG
|
|
NTAPI
|
|
NtUserShowCursor(
|
|
_In_ BOOL Show
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserShowWindow(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG CmdShow
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserShowWindowAsync(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG CmdShow
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserShutdownBlockReasonQuery(
|
|
_In_ HWND WindowHandle,
|
|
_Out_ PWSTR Buffer,
|
|
_Inout_ PULONG BufferCount
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserShutdownReasonDestroy(
|
|
_In_ HWND WindowHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserTrackMouseEvent(
|
|
_In_ LPTRACKMOUSEEVENT EventTrack
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserTrackPopupMenuEx(
|
|
_In_ HMENU MenuHandle,
|
|
_In_ ULONG Flags,
|
|
_In_ LONG x,
|
|
_In_ LONG y,
|
|
_In_ HWND WindowHandle,
|
|
_In_ LPTPMPARAMS lptpm
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserUnhookWinEvent(
|
|
_In_ HWINEVENTHOOK WinEventHookHandle
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserUnregisterHotKey(
|
|
_In_ HWND WindowHandle,
|
|
_In_ LONG Id
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserUserHandleGrantAccess(
|
|
_In_ HANDLE UserHandle,
|
|
_In_ HANDLE Job,
|
|
_In_ BOOL Grant
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
BOOL
|
|
NTAPI
|
|
NtUserValidateRect(
|
|
_In_ HWND WindowHandle,
|
|
_In_ const RECT* Rect
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserWindowFromDC(
|
|
_In_ HDC Hdc
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserWindowFromPhysicalPoint(
|
|
_In_ POINT Point
|
|
);
|
|
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserWindowFromPoint(
|
|
_In_ POINT Point
|
|
);
|
|
|
|
// rev // valid since 20H1
|
|
#define SFI_CREATEMENU 0 // NtUserCallNoParam
|
|
#define SFI_CREATEPOPUPMENU 1 // NtUserCallNoParam
|
|
#define SFI_ALLOWFOREGROUNDACTIVATION 2 // NtUserCallNoParam
|
|
#define SFI_CANCELQUEUEEVENTCOMPLETIONPACKET 3 // NtUserCallNoParam
|
|
#define SFI_CLEARWAKEMASK 4 // NtUserCallNoParam
|
|
#define SFI_CREATESYSTEMTHREADS 5 // NtUserCallNoParam
|
|
#define SFI_DESTROYCARET 6 // NtUserCallNoParam
|
|
#define SFI_DISABLEPROCESSWINDOWSGHOSTING 7 // NtUserCallNoParam
|
|
#define SFI_DRAINTHREADCOREMESSAGINGCOMPLETIONS 8 // NtUserCallNoParam
|
|
#define SFI_GETDEVICECHANGEINFO 9 // NtUserCallNoParam
|
|
#define SFI_GETIMESHOWSTATUS 10 // NtUserCallNoParam
|
|
#define SFI_GETINPUTDESKTOP 11 // NtUserCallNoParam
|
|
#define SFI_GETMESSAGEPOS 12 // NtUserCallNoParam
|
|
#define SFI_GETQUEUEIOCP 13 // NtUserCallNoParam
|
|
#define SFI_GETUNPREDICTEDMESSAGEPOS 14 // NtUserCallNoParam
|
|
#define SFI_HANDLESYSTEMTHREADCREATIONFAILURE 15 // NtUserCallNoParam
|
|
#define SFI_HIDECURSORNOCAPTURE 16 // NtUserCallNoParam
|
|
#define SFI_ISQUEUEATTACHED 17 // NtUserCallNoParam
|
|
#define SFI_LOADCURSORSANDICONS 18 // NtUserCallNoParam
|
|
#define SFI_LOADUSERAPIHOOK 19 // NtUserCallNoParam
|
|
#define SFI_PREPAREFORLOGOFF 20 // NtUserCallNoParam
|
|
#define SFI_REASSOCIATEQUEUEEVENTCOMPLETIONPACKET 21 // NtUserCallNoParam
|
|
#define SFI_RELEASECAPTURE 22 // NtUserCallNoParam
|
|
#define SFI_REMOVEQUEUECOMPLETION 23 // NtUserCallNoParam
|
|
#define SFI_RESETDBLCLK 24 // NtUserCallNoParam
|
|
#define SFI_ZAPACTIVEANDFOCUS 25 // NtUserCallNoParam
|
|
#define SFI_REMOTECONSOLESHADOWSTOP 26 // NtUserCallNoParam
|
|
#define SFI_REMOTEDISCONNECT 27 // NtUserCallNoParam
|
|
#define SFI_REMOTESHADOWSETUP 30 // NtUserCallNoParam
|
|
#define SFI_REMOTESHADOWSTOP 31 // NtUserCallNoParam
|
|
#define SFI_REMOTEPASSTHRUENABLE 32 // NtUserCallNoParam
|
|
#define SFI_REMOTEPASSTHRUDISABLE 33 // NtUserCallNoParam
|
|
#define SFI_REMOTECONNECTSTATE 34 // NtUserCallNoParam
|
|
#define SFI_UPDATEPERUSERIMMENABLING 36 // NtUserCallNoParam
|
|
#define SFI_USERPOWERCALLOUTWORKER 37 // NtUserCallNoParam
|
|
#define SFI_WAKERITFORSHUTDOWN 38 // NtUserCallNoParam
|
|
#define SFI_DOINITMESSAGEPUMPHOOK 39 // NtUserCallNoParam
|
|
#define SFI_DOUNINITMESSAGEPUMPHOOK 40 // NtUserCallNoParam
|
|
#define SFI_ENABLEMOUSEINPOINTERFORTHREAD 41 // NtUserCallNoParam
|
|
#define SFI_DEFERREDDESKTOPROTATION 42 // NtUserCallNoParam
|
|
#define SFI_ENABLEPERMONITORMENUSCALING 43 // NtUserCallNoParam
|
|
#define SFI_BEGINDEFERWINDOWPOS 44 // NtUserCallOneParam
|
|
#define SFI_GETSENDMESSAGERECEIVER 45 // NtUserCallOneParam
|
|
#define SFI_ALLOWSETFOREGROUNDWINDOW 46 // NtUserCallOneParam
|
|
#define SFI_CSDDEUNINITIALIZE 47 // NtUserCallOneParam
|
|
#define SFI_ENUMCLIPBOARDFORMATS 49 // NtUserCallOneParam
|
|
#define SFI_GETINPUTEVENT 50 // NtUserCallOneParam
|
|
#define SFI_GETKEYBOARDTYPE 51 // NtUserCallOneParam
|
|
#define SFI_GETPROCESSDEFAULTLAYOUT 52 // NtUserCallOneParam
|
|
#define SFI_GETWINSTATIONINFO 53 // NtUserCallOneParam
|
|
#define SFI_LOCKSETFOREGROUNDWINDOW 54 // NtUserCallOneParam
|
|
#define SFI_LW_LOADFONTS 55 // NtUserCallOneParam
|
|
#define SFI_MAPDESKTOPOBJECT 56 // NtUserCallOneParam
|
|
#define SFI_MESSAGEBEEP 57 // NtUserCallOneParam
|
|
#define SFI_PLAYEVENTSOUND 58 // NtUserCallOneParam
|
|
#define SFI_POSTQUITMESSAGE 59 // NtUserCallOneParam
|
|
#define SFI_REALIZEPALETTE 60 // NtUserCallOneParam
|
|
#define SFI_REGISTERLPK 61 // NtUserCallOneParam
|
|
#define SFI_REGISTERSYSTEMTHREAD 62 // NtUserCallOneParam
|
|
#define SFI_REMOTERECONNECT 63 // NtUserCallOneParam
|
|
#define SFI_REMOTETHINWIRESTATS 64 // NtUserCallOneParam
|
|
#define SFI_REMOTENOTIFY 65 // NtUserCallOneParam
|
|
#define SFI_REPLYMESSAGE 66 // NtUserCallOneParam
|
|
#define SFI_SETCARETBLINKTIME 67 // NtUserCallOneParam
|
|
#define SFI_SETDOUBLECLICKTIME 68 // NtUserCallOneParam
|
|
#define SFI_SETMESSAGEEXTRAINFO 69 // NtUserCallOneParam
|
|
#define SFI_SETPROCESSDEFAULTLAYOUT 70 // NtUserCallOneParam
|
|
#define SFI_SETWATERMARKSTRINGS 71 // NtUserCallOneParam
|
|
#define SFI_SHOWSTARTGLASS 72 // NtUserCallOneParam
|
|
#define SFI_SWAPMOUSEBUTTON 73 // NtUserCallOneParam
|
|
#define SFI_WOWMODULEUNLOAD 74 // NtUserCallOneParam
|
|
#define SFI_DWMLOCKSCREENUPDATES 75 // NtUserCallOneParam
|
|
#define SFI_ENABLESESSIONFORMMCSS 76 // NtUserCallOneParam
|
|
#define SFI_SETWAITFORQUEUEATTACH 77 // NtUserCallOneParam
|
|
#define SFI_THREADMESSAGEQUEUEATTACHED 78 // NtUserCallOneParam
|
|
#define SFI_ENSUREDPIDEPSYSMETCACHEFORPLATEAU 80 // NtUserCallOneParam
|
|
#define SFI_FORCEENABLENUMPADTRANSLATION 81 // NtUserCallOneParam
|
|
#define SFI_SETTSFEVENTSTATE 82 // NtUserCallOneParam
|
|
#define SFI_SETSHELLCHANGENOTIFYHWND 83 // NtUserCallOneParam
|
|
#define SFI_DEREGISTERSHELLHOOKWINDOW 84 // NtUserCallHwnd
|
|
#define SFI_DWP_GETENABLEDPOPUPOFFSET 85 // NtUserCallHwnd
|
|
#define SFI_GETMODERNAPPWINDOW 86 // NtUserCallHwnd
|
|
#define SFI_GETWINDOWCONTEXTHELPID 87 // NtUserCallHwnd
|
|
#define SFI_REGISTERSHELLHOOKWINDOW 88 // NtUserCallHwnd
|
|
#define SFI_SETMSGBOX 89 // NtUserCallHwnd
|
|
#define SFI_INITTHREADCOREMESSAGINGIOCP 90 // NtUserCallHwnd, NtUserCallHwndSafe
|
|
#define SFI_SCHEDULEDISPATCHNOTIFICATION 91 // NtUserCallHwnd, NtUserCallHwndSafe
|
|
#define SFI_SETPROGMANWINDOW 92 // NtUserCallHwndOpt
|
|
#define SFI_SETTASKMANWINDOW 93 // NtUserCallHwndOpt
|
|
#define SFI_GETCLASSICOCUR 94 // NtUserCallHwndParam
|
|
#define SFI_CLEARWINDOWSTATE 95 // NtUserCallHwndParam
|
|
#define SFI_KILLSYSTEMTIMER 96 // NtUserCallHwndParam
|
|
#define SFI_NOTIFYOVERLAYWINDOW 97 // NtUserCallHwndParam
|
|
#define SFI_SETDIALOGPOINTER 99 // NtUserCallHwndParam
|
|
#define SFI_SETVISIBLE 100 // NtUserCallHwndParam
|
|
#define SFI_SETWINDOWCONTEXTHELPID 101 // NtUserCallHwndParam
|
|
#define SFI_SETWINDOWSTATE 102 // NtUserCallHwndParam
|
|
#define SFI_REGISTERWINDOWARRANGEMENTCALLOUT 103 // NtUserCallHwndParam
|
|
#define SFI_ENABLEMODERNAPPWINDOWKEYBOARDINTERCEPT 104 // NtUserCallHwndParam
|
|
#define SFI_ARRANGEICONICWINDOWS 105 // NtUserCallHwndLock
|
|
#define SFI_DRAWMENUBAR 106 // NtUserCallHwndLock
|
|
#define SFI_CHECKIMESHOWSTATUSINTHREAD 107 // NtUserCallHwndLock, NtUserCallHwndLockSafe
|
|
#define SFI_GETSYSMENUOFFSET 108 // NtUserCallHwndLock
|
|
#define SFI_REDRAWFRAME 109 // NtUserCallHwndLock
|
|
#define SFI_REDRAWFRAMEANDHOOK 110 // NtUserCallHwndLock
|
|
#define SFI_SETDIALOGSYSTEMMENU 111 // NtUserCallHwndLock
|
|
#define SFI_SETFOREGROUNDWINDOW 112 // NtUserCallHwndLock
|
|
#define SFI_SETSYSMENU 113 // NtUserCallHwndLock
|
|
#define SFI_UPDATECLIENTRECT 114 // NtUserCallHwndLock
|
|
#define SFI_UPDATEWINDOW 115 // NtUserCallHwndLock
|
|
#define SFI_SETCANCELROTATIONDELAYHINTWINDOW 116 // NtUserCallHwndLock
|
|
#define SFI_GETWINDOWTRACKINFOASYNC 117 // NtUserCallHwndLock
|
|
#define SFI_BROADCASTIMESHOWSTATUSCHANGE 118 // NtUserCallHwndParamLock
|
|
#define SFI_SETMODERNAPPWINDOW 119 // NtUserCallHwndParamLock
|
|
#define SFI_REDRAWTITLE 120 // NtUserCallHwndParamLock
|
|
#define SFI_SHOWOWNEDPOPUPS 121 // NtUserCallHwndParamLock
|
|
#define SFI_SWITCHTOTHISWINDOW 122 // NtUserCallHwndParamLock
|
|
#define SFI_UPDATEWINDOWS 123 // NtUserCallHwndParamLock
|
|
#define SFI_VALIDATERGN 124 // NtUserCallHwndParamLock
|
|
#define SFI_ENABLEWINDOW 125 // NtUserCallHwndParamLock, NtUserCallHwndParamLockSafe
|
|
#define SFI_CHANGEWINDOWMESSAGEFILTER 126 // NtUserCallTwoParam
|
|
#define SFI_GETCURSORPOS 127 // NtUserCallTwoParam
|
|
#define SFI_INITANSIOEM 128 // NtUserCallTwoParam
|
|
#define SFI_NLSKBDSENDIMENOTIFICATION 129 // NtUserCallTwoParam
|
|
#define SFI_REGISTERGHOSTWINDOW 130 // NtUserCallTwoParam
|
|
#define SFI_REGISTERLOGONPROCESS 131 // NtUserCallTwoParam
|
|
#define SFI_REGISTERSIBLINGFROSTWINDOW 132 // NtUserCallTwoParam
|
|
#define SFI_REGISTERUSERHUNGAPPHANDLERS 133 // NtUserCallTwoParam
|
|
#define SFI_REMOTESHADOWCLEANUP 134 // NtUserCallTwoParam
|
|
#define SFI_REMOTESHADOWSTART 135 // NtUserCallTwoParam
|
|
#define SFI_SETCARETPOS 136 // NtUserCallTwoParam
|
|
#define SFI_SETTHREADQUEUEMERGESETTING 137 // NtUserCallTwoParam
|
|
#define SFI_UNHOOKWINDOWSHOOK 138 // NtUserCallTwoParam
|
|
#define SFI_ENABLESHELLWINDOWMANAGEMENTBEHAVIOR 139 // NtUserCallTwoParam
|
|
#define SFI_CITSETINFO 140 // NtUserCallTwoParam
|
|
#define SFI_SCALESYSTEMMETRICFORDPIWITHOUTCACHE 141 // NtUserCallTwoParam
|
|
|
|
// N.B.
|
|
// Windows 10 uses NtUserCall* dispatch routines to invoke ~140 functions
|
|
// by index (note that our index table is valid only since 20H1).
|
|
// Windows 11 uses the newly introduced syscalls for each function instead.
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallNoParam(
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallOneParam(
|
|
_In_ ULONG_PTR Param,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwnd(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
#if (PHNT_VERSION >= PHNT_WINDOWS_10_RS5)
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndSafe(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
#endif
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndOpt(
|
|
_In_opt_ HWND hwnd,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndParam(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG_PTR Param,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndLock(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
#if (PHNT_VERSION >= PHNT_WINDOWS_10_RS5)
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndLockSafe(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
#endif
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndParamLock(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG_PTR Param,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
// private // before WIN11
|
|
#if (PHNT_VERSION >= PHNT_WINDOWS_10_RS5)
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallHwndParamLockSafe(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG_PTR Param,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
#endif
|
|
|
|
// private // before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserCallTwoParam(
|
|
_In_ ULONG_PTR Param1,
|
|
_In_ ULONG_PTR Param2,
|
|
_In_ ULONG xpfnProc
|
|
);
|
|
|
|
#if (PHNT_VERSION >= PHNT_WINDOWS_11)
|
|
|
|
// private // NtUserCallNoParam(SFI_CREATEMENU) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HMENU
|
|
NTAPI
|
|
NtUserCreateMenu(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_CREATEPOPUPMENU) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HMENU
|
|
NTAPI
|
|
NtUserCreatePopupMenu(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_ALLOWFOREGROUNDACTIVATION) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserAllowForegroundActivation(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_CANCELQUEUEEVENTCOMPLETIONPACKET) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserCancelQueueEventCompletionPacket(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_CLEARWAKEMASK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserClearWakeMask(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_CREATESYSTEMTHREADS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserCreateSystemThreads(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_DESTROYCARET) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDestroyCaret(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_DISABLEPROCESSWINDOWSGHOSTING) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDisableProcessWindowsGhosting(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_DRAINTHREADCOREMESSAGINGCOMPLETIONS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDrainThreadCoreMessagingCompletions(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_GETDEVICECHANGEINFO) before WIN11
|
|
_Success_(return != 0)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetDeviceChangeInfo(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_GETIMESHOWSTATUS) before WIN11
|
|
_Success_(return != 0)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserGetIMEShowStatus(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_GETINPUTDESKTOP) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HDESK
|
|
NTAPI
|
|
NtUserGetInputDesktop(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_GETMESSAGEPOS) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetMessagePos(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_GETQUEUEIOCP) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserGetQueueIocp(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_GETUNPREDICTEDMESSAGEPOS) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetUnpredictedMessagePos(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_HANDLESYSTEMTHREADCREATIONFAILURE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserHandleSystemThreadCreationFailure(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_HIDECURSORNOCAPTURE) before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserHideCursorNoCapture(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_ISQUEUEATTACHED) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserIsQueueAttached(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_LOADCURSORSANDICONS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserLoadCursorsAndIcons(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_LOADUSERAPIHOOK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserLoadUserApiHook(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_PREPAREFORLOGOFF) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserPrepareForLogoff(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_REASSOCIATEQUEUEEVENTCOMPLETIONPACKET) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserReassociateQueueEventCompletionPacket(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_RELEASECAPTURE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserReleaseCapture(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_REMOVEQUEUECOMPLETION) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRemoveQueueCompletion(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_RESETDBLCLK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserResetDblClk(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_ZAPACTIVEANDFOCUS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserZapActiveAndFocus(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTECONSOLESHADOWSTOP) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteConsoleShadowStop(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTEDISCONNECT) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteDisconnect(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTESHADOWSETUP) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteShadowSetup(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTESHADOWSTOP) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteShadowStop(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTEPASSTHRUENABLE) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemotePassthruEnable(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTEPASSTHRUDISABLE) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemotePassthruDisable(
|
|
VOID
|
|
);
|
|
|
|
// private
|
|
#define CTX_W32_CONNECT_STATE_CONSOLE 0
|
|
#define CTX_W32_CONNECT_STATE_IDLE 1
|
|
#define CTX_W32_CONNECT_STATE_EXIT_IN_PROGRESS 2
|
|
#define CTX_W32_CONNECT_STATE_CONNECTED 3
|
|
#define CTX_W32_CONNECT_STATE_DISCONNECTED 4
|
|
|
|
// private // NtUserCallNoParam(SFI_REMOTECONNECTSTATE) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserRemoteConnectState(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_UPDATEPERUSERIMMENABLING) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUpdatePerUserImmEnabling(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_USERPOWERCALLOUTWORKER) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUserPowerCalloutWorker(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_WAKERITFORSHUTDOWN) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserWakeRITForShutdown(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_DOINITMESSAGEPUMPHOOK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDoInitMessagePumpHook(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_DOUNINITMESSAGEPUMPHOOK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDoUninitMessagePumpHook(
|
|
VOID
|
|
);
|
|
|
|
// rev // NtUserCallNoParam(SFI_ENABLEMOUSEINPOINTERFORTHREAD) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnableMouseInPointerForThread(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_DEFERREDDESKTOPROTATION) before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserDeferredDesktopRotation(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallNoParam(SFI_ENABLEPERMONITORMENUSCALING) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnablePerMonitorMenuScaling(
|
|
VOID
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_BEGINDEFERWINDOWPOS) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HDWP
|
|
NTAPI
|
|
NtUserBeginDeferWindowPos(
|
|
_In_ ULONG NumWindowsHint
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_GETSENDMESSAGERECEIVER) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserGetSendMessageReceiver(
|
|
_In_ ULONG ThreadIdSender
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_ALLOWSETFOREGROUNDWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserAllowSetForegroundWindow(
|
|
_In_ ULONG ProcessId
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_CSDDEUNINITIALIZE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserCsDdeUninitialize(
|
|
_In_ HANDLE hInst
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_ENUMCLIPBOARDFORMATS) before WIN11
|
|
_Success_(return != 0)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserEnumClipboardFormats(
|
|
_In_ ULONG Format
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_GETINPUTEVENT) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HANDLE
|
|
NTAPI
|
|
NtUserGetInputEvent(
|
|
_In_ ULONG WakeMask // QS_* WinUser.h
|
|
);
|
|
|
|
// rev (MSDN)
|
|
#define KEYBOARD_TYPE 0
|
|
#define KEYBOARD_SUBTYPE 1
|
|
#define KEYBOARD_FUNCTION_KEY 2
|
|
|
|
// private // NtUserCallOneParam(SFI_GETKEYBOARDTYPE) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetKeyboardType(
|
|
_In_ ULONG TypeFlag // KEYBOARD_*
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_GETPROCESSDEFAULTLAYOUT) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserGetProcessDefaultLayout(
|
|
_Out_ PULONG DefaultLayout
|
|
);
|
|
|
|
// private
|
|
#define WPROTOCOLNAME_LENGTH 10
|
|
#define WAUDIONAME_LENGTH 10
|
|
|
|
// private
|
|
typedef struct tagWSINFO
|
|
{
|
|
WCHAR ProtocolName[WPROTOCOLNAME_LENGTH];
|
|
WCHAR AudioDriverName[WAUDIONAME_LENGTH];
|
|
} WSINFO, *PWSINFO;
|
|
|
|
// private // NtUserCallOneParam(SFI_GETWINSTATIONINFO) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserGetWinStationInfo(
|
|
_Out_ PWSINFO WsInfo
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_LOCKSETFOREGROUNDWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserLockSetForegroundWindow(
|
|
_In_ ULONG LockCode // LSFW_* WinUser.h
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_LW_LOADFONTS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserLW_LoadFonts(
|
|
_In_ LOGICAL Remote
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_MAPDESKTOPOBJECT) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
_Ret_maybenull_
|
|
NTSYSCALLAPI
|
|
PVOID
|
|
NTAPI
|
|
NtUserMapDesktopObject(
|
|
_In_ HANDLE h
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_MESSAGEBEEP) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserMessageBeep(
|
|
_In_ ULONG Type // MB_* (MB_ICONMASK) WinUser.h
|
|
);
|
|
|
|
// private
|
|
#define USER_SOUND_DEFAULT 0
|
|
#define USER_SOUND_SYSTEMHAND 1
|
|
#define USER_SOUND_SYSTEMQUESTION 2
|
|
#define USER_SOUND_SYSTEMEXCLAMATION 3
|
|
#define USER_SOUND_SYSTEMASTERISK 4
|
|
#define USER_SOUND_MENUPOPUP 5
|
|
#define USER_SOUND_MENUCOMMAND 6
|
|
#define USER_SOUND_OPEN 7
|
|
#define USER_SOUND_CLOSE 8
|
|
#define USER_SOUND_RESTOREUP 9
|
|
#define USER_SOUND_RESTOREDOWN 10
|
|
#define USER_SOUND_MINIMIZE 11
|
|
#define USER_SOUND_MAXIMIZE 12
|
|
#define USER_SOUND_SNAPSHOT 13
|
|
|
|
// private // NtUserCallOneParam(SFI_PLAYEVENTSOUND) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserPlayEventSound(
|
|
_In_ ULONG idSound // USER_SOUND_*
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_POSTQUITMESSAGE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserPostQuitMessage(
|
|
_In_ LONG ExitCode
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_REALIZEPALETTE) before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserRealizePalette(
|
|
_In_ HDC hdc
|
|
);
|
|
|
|
// private
|
|
#define LPK_TABBED_TEXT_OUT 0
|
|
#define LPK_PSM_TEXT_OUT 1
|
|
#define LPK_DRAW_TEXT_EX 2
|
|
#define LPK_EDIT_CONTROL 3
|
|
|
|
// rev
|
|
#define LPK_FLAG_TABBED_TEXT_OUT (1 << LPK_TABBED_TEXT_OUT)
|
|
#define LPK_FLAG_PSM_TEXT_OUT (1 << LPK_PSM_TEXT_OUT)
|
|
#define LPK_FLAG_DRAW_TEXT_EX (1 << LPK_DRAW_TEXT_EX)
|
|
#define LPK_FLAG_EDIT_CONTROL (1 << LPK_EDIT_CONTROL)
|
|
|
|
// private // NtUserCallOneParam(SFI_REGISTERLPK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterLPK(
|
|
_In_ ULONG LpkEntryPoints // LPK_FLAG_*
|
|
);
|
|
|
|
// private
|
|
#define RST_DONTATTACHQUEUE 0x00000001
|
|
#define RST_DONTJOURNALATTACH 0x00000002
|
|
|
|
// private // NtUserCallOneParam(SFI_REGISTERSYSTEMTHREAD) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterSystemThread(
|
|
_In_ ULONG Flags // RST_*
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_REMOTERECONNECT) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteReconnect(
|
|
_In_ struct _DOCONNECTDATA* DoConnectData
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_REMOTETHINWIRESTATS) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteThinwireStats(
|
|
_Out_ struct CACHE_STATISTICS* Stats
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_REMOTENOTIFY) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteNotify(
|
|
_In_ struct _DONOTIFYDATA* DoNotifyData
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_REPLYMESSAGE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserReplyMessage(
|
|
_In_ LRESULT Result
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETCARETBLINKTIME) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetCaretBlinkTime(
|
|
_In_ ULONG Milliseconds
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETDOUBLECLICKTIME) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetDoubleClickTime(
|
|
_In_ ULONG Milliseconds
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETMESSAGEEXTRAINFO) before WIN11
|
|
NTSYSCALLAPI
|
|
LPARAM
|
|
NTAPI
|
|
NtUserSetMessageExtraInfo(
|
|
_In_ LPARAM Param
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETPROCESSDEFAULTLAYOUT) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetProcessDefaultLayout(
|
|
_In_ ULONG DefaultLayout // LAYOUT_* wingdi.h
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETWATERMARKSTRINGS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetWatermarkStrings(
|
|
_In_ PCUNICODE_STRING StringTable
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SHOWSTARTGLASS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserShowStartGlass(
|
|
_In_ ULONG Timeout
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SWAPMOUSEBUTTON) before WIN11
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSwapMouseButton(
|
|
_In_ LOGICAL SwapButtons
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_WOWMODULEUNLOAD) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserWOWModuleUnload(
|
|
_In_ HANDLE Module
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_DWMLOCKSCREENUPDATES) before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserDwmLockScreenUpdates(
|
|
_In_ LOGICAL LockUpdates
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_ENABLESESSIONFORMMCSS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserEnableSessionForMMCSS(
|
|
_In_ LOGICAL Enable
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_SETWAITFORQUEUEATTACH) before WIN11
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetWaitForQueueAttach(
|
|
_In_ LOGICAL Waiting
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_THREADMESSAGEQUEUEATTACHED) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserThreadMessageQueueAttached(
|
|
_In_opt_ ULONG ThreadId
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_ENSUREDPIDEPSYSMETCACHEFORPLATEAU) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnsureDpiDepSysMetCacheForPlateau(
|
|
_In_ ULONG Dpi
|
|
);
|
|
|
|
// private // NtUserCallOneParam(SFI_FORCEENABLENUMPADTRANSLATION) before WIN11
|
|
NTSYSCALLAPI
|
|
UINT_PTR
|
|
NTAPI
|
|
NtUserForceEnableNumpadTranslation(
|
|
_In_ LOGICAL ForceNumlockTranslation
|
|
);
|
|
|
|
// rev // NtUserCallOneParam(SFI_SETTSFEVENTSTATE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetTSFEventState(
|
|
_In_ ULONG StateFlags
|
|
);
|
|
|
|
// rev // NtUserCallOneParam(SFI_SETSHELLCHANGENOTIFYHWND) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetShellChangeNotifyHWND(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwnd(SFI_DEREGISTERSHELLHOOKWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDeregisterShellHookWindow(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// rev // NtUserCallHwnd(SFI_DWP_GETENABLEDPOPUPOFFSET) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserDWP_GetEnabledPopupOffset(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwnd(SFI_GETMODERNAPPWINDOW) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HWND
|
|
NTAPI
|
|
NtUserGetModernAppWindow(
|
|
_In_ HWND ShellFrame
|
|
);
|
|
|
|
// private // NtUserCallHwnd(SFI_GETWINDOWCONTEXTHELPID) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserGetWindowContextHelpId(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwnd(SFI_REGISTERSHELLHOOKWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterShellHookWindow(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwnd(SFI_SETMSGBOX) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetMsgBox(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// rev // NtUserCallHwnd[Safe](SFI_INITTHREADCOREMESSAGINGIOCP) before WIN11
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserInitThreadCoreMessagingIocp(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwnd[Safe](SFI_SCHEDULEDISPATCHNOTIFICATION) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserScheduleDispatchNotification(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndOpt(SFI_SETPROGMANWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetProgmanWindow(
|
|
_In_opt_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndOpt(SFI_SETTASKMANWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetTaskmanWindow(
|
|
_In_opt_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_GETCLASSICOCUR) before WIN11
|
|
_Success_(return != NULL)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
HCURSOR
|
|
NTAPI
|
|
NtUserGetClassIcoCur(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG Index
|
|
);
|
|
|
|
// private
|
|
#define WFWIN40COMPAT 0x0502
|
|
#define WFNOANIMATE 0x0710
|
|
#define WEFWINDOWEDGE 0x0901
|
|
#define WEFCLIENTEDGE 0x0902
|
|
#define WEFSTATICEDGE 0x0A02
|
|
#define BFRIGHTBUTTON 0x0C20
|
|
#define BFRIGHT 0x0D02
|
|
#define BFBOTTOM 0x0D08
|
|
#define DFLOCALEDIT 0x0C20
|
|
#define CBFOWNERDRAWVAR 0x0C20
|
|
#define CBFHASSTRINGS 0x0D02
|
|
#define CBFDISABLENOSCROLL 0x0D08
|
|
#define EFPASSWORD 0x0C20
|
|
#define EFCOMBOBOX 0x0D02
|
|
#define EFREADONLY 0x0D08
|
|
#define SFWIDELINESPACING 0x0C20
|
|
#define SFCENTERIMAGE 0x0D02
|
|
#define SFREALSIZEIMAGE 0x0D08
|
|
#define WFMAXBOX 0x0E01
|
|
#define WFTABSTOP 0x0E01
|
|
#define WFSYSMENU 0x0E08
|
|
#define WFHSCROLL 0x0E10
|
|
#define WFVSCROLL 0x0E20
|
|
#define WFBORDER 0x0E80
|
|
#define WFCLIPCHILDREN 0x0F02
|
|
|
|
// private // NtUserCallHwndParam(SFI_CLEARWINDOWSTATE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserClearWindowState(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG Flag // WF*, WEF*, BF*, DF*, CBF*, EF*, SF*
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_SETWINDOWSTATE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetWindowState(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG Flag // WF*, WEF*, BF*, DF*, CBF*, EF*, SF*
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_KILLSYSTEMTIMER) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserKillSystemTimer(
|
|
_In_ HWND hwnd,
|
|
_In_ UINT_PTR IDEvent
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_NOTIFYOVERLAYWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserNotifyOverlayWindow(
|
|
_In_ HWND hwnd,
|
|
_In_ LOGICAL Enable
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_SETDIALOGPOINTER) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetDialogPointer(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG_PTR Ptr
|
|
);
|
|
|
|
// private
|
|
#define SV_UNSET 0x0000
|
|
#define SV_SET 0x0001
|
|
#define SV_CLRFTRUEVIS 0x0002
|
|
#define SV_SKIPCOMPOSE 0x0004 // rev
|
|
#define SV_CLRFULLSCREEN 0x0008 // rev
|
|
#define SV_CLRGHOSTVIS 0x0010 // rev
|
|
|
|
// private // NtUserCallHwndParam(SFI_SETVISIBLE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetVisible(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG Flags // SV_*
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_SETWINDOWCONTEXTHELPID) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetWindowContextHelpId(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG ContextId
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_REGISTERWINDOWARRANGEMENTCALLOUT) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterWindowArrangementCallout(
|
|
_In_ HWND hwnd,
|
|
_In_ LOGICAL Register
|
|
);
|
|
|
|
// private // NtUserCallHwndParam(SFI_ENABLEMODERNAPPWINDOWKEYBOARDINTERCEPT) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnableModernAppWindowKeyboardIntercept(
|
|
_In_ HWND hwnd,
|
|
_In_ LOGICAL Enable
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_ARRANGEICONICWINDOWS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
ULONG
|
|
NTAPI
|
|
NtUserArrangeIconicWindows(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_DRAWMENUBAR) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserDrawMenuBar(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock[Safe](SFI_CHECKIMESHOWSTATUSINTHREAD) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserCheckImeShowStatusInThread(
|
|
_In_ HWND Ime
|
|
);
|
|
|
|
// rev // NtUserCallHwndLock(SFI_GETSYSMENUOFFSET) before WIN11
|
|
_Success_(return != 0)
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserGetSysMenuOffset(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_REDRAWFRAME) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRedrawFrame(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_REDRAWFRAMEANDHOOK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRedrawFrameAndHook(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_SETDIALOGSYSTEMMENU) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetDialogSystemMenu(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_SETFOREGROUNDWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetForegroundWindow(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_SETSYSMENU) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetSysMenu(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_UPDATECLIENTRECT) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUpdateClientRect(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_UPDATEWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUpdateWindow(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_SETCANCELROTATIONDELAYHINTWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetCancelRotationDelayHintWindow(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndLock(SFI_GETWINDOWTRACKINFOASYNC) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserGetWindowTrackInfoAsync(
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_BROADCASTIMESHOWSTATUSCHANGE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserBroadcastImeShowStatusChange(
|
|
_In_ HWND Ime,
|
|
_In_ LOGICAL Show
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_SETMODERNAPPWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetModernAppWindow(
|
|
_In_ HWND ShellFrame,
|
|
_In_ HWND App
|
|
);
|
|
|
|
// private
|
|
// #define DC_ACTIVE 0x0001 // WinUser.h
|
|
// #define DC_SMALLCAP 0x0002 // WinUser.h
|
|
// #define DC_ICON 0x0004 // WinUser.h
|
|
// #define DC_TEXT 0x0008 // WinUser.h
|
|
// #define DC_INBUTTON 0x0010 // WinUser.h
|
|
// #define DC_GRADIENT 0x0020 // WinUser.h
|
|
#define DC_LAMEBUTTON 0x0400
|
|
#define DC_NOVISIBLE 0x0800
|
|
// #define DC_BUTTONS 0x1000 // WinUser.h
|
|
#define DC_NOSENDMSG 0x2000
|
|
#define DC_CENTER 0x4000
|
|
#define DC_FRAME 0x8000
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_REDRAWTITLE) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRedrawTitle(
|
|
_In_ HWND hwnd,
|
|
_In_ ULONG Flags // DC_*
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_SHOWOWNEDPOPUPS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserShowOwnedPopups(
|
|
_In_ HWND Owner,
|
|
_In_ LOGICAL Show
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_SWITCHTOTHISWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSwitchToThisWindow(
|
|
_In_ HWND hwnd,
|
|
_In_ LOGICAL AltTab
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_UPDATEWINDOWS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUpdateWindows(
|
|
_In_ HWND hwnd,
|
|
_In_ HRGN hrgn
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock(SFI_VALIDATERGN) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserValidateRgn(
|
|
_In_ HWND hwnd,
|
|
_In_ HRGN hrgn
|
|
);
|
|
|
|
// private // NtUserCallHwndParamLock[Safe](SFI_ENABLEWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnableWindow(
|
|
_In_ HWND hwnd,
|
|
_In_ LOGICAL Enable
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_CHANGEWINDOWMESSAGEFILTER) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserChangeWindowMessageFilter(
|
|
_In_ ULONG Message,
|
|
_In_ ULONG Flag // MSGFLT_* WinUser.h
|
|
);
|
|
|
|
// rev
|
|
#define CURSOR_POS_TYPE_LOGICAL 1
|
|
#define CURSOR_POS_TYPE_SAVED 2
|
|
|
|
// private // NtUserCallTwoParam(SFI_GETCURSORPOS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserGetCursorPos(
|
|
_Out_ PPOINT Point,
|
|
_In_ ULONG CursorPosType // CURSOR_POS_TYPE_*
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_INITANSIOEM) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserInitAnsiOem(
|
|
_In_reads_(256) PCHAR OemToAnsi,
|
|
_In_reads_(256) PCHAR AnsiToOem
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_NLSKBDSENDIMENOTIFICATION) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserNlsKbdSendIMENotification(
|
|
_In_ ULONG ImeOpen,
|
|
_In_ ULONG ImeConversion
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_REGISTERGHOSTWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterGhostWindow(
|
|
_In_ HWND Ghost,
|
|
_In_ HWND Hung
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_REGISTERLOGONPROCESS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterLogonProcess(
|
|
_In_ ULONG ProcessId,
|
|
_In_ PLUID LuidConnect
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_REGISTERSIBLINGFROSTWINDOW) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterSiblingFrostWindow(
|
|
_In_ HWND hwndFrost,
|
|
_In_ HWND hwnd
|
|
);
|
|
|
|
// rev
|
|
typedef _Function_class_(FNW32ET)
|
|
VOID APIENTRY FNW32ET(VOID);
|
|
typedef FNW32ET* PFNW32ET;
|
|
|
|
// private // NtUserCallTwoParam(SFI_REGISTERUSERHUNGAPPHANDLERS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserRegisterUserHungAppHandlers(
|
|
_In_ PFNW32ET W32EndTask,
|
|
_In_ HANDLE EventWowExec
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_REMOTESHADOWCLEANUP) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteShadowCleanup(
|
|
_In_reads_bytes_(ThinwireDataLength) PVOID ThinwireData,
|
|
_In_ ULONG ThinwireDataLength
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_REMOTESHADOWSTART) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserRemoteShadowStart(
|
|
_In_reads_bytes_(ThinwireDataLength) PVOID ThinwireData,
|
|
_In_ ULONG ThinwireDataLength
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_SETCARETPOS) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetCaretPos(
|
|
_In_ LONG x,
|
|
_In_ LONG y
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_SETTHREADQUEUEMERGESETTING) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserSetThreadQueueMergeSetting(
|
|
_In_ ULONG ThreadId,
|
|
_In_ ULONG Flags
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_UNHOOKWINDOWSHOOK) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserUnhookWindowsHook(
|
|
_In_ LONG FilterType,
|
|
_In_ HOOKPROC FilterProc
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_ENABLESHELLWINDOWMANAGEMENTBEHAVIOR) before WIN11
|
|
_Success_(return != 0)
|
|
NTSYSCALLAPI
|
|
LOGICAL
|
|
NTAPI
|
|
NtUserEnableShellWindowManagementBehavior(
|
|
_In_ ULONG_PTR Param1,
|
|
_In_ ULONG_PTR Param2
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_CITSETINFO) before WIN11
|
|
NTSYSCALLAPI
|
|
NTSTATUS
|
|
NTAPI
|
|
NtUserCitSetInfo(
|
|
_In_ ULONG_PTR InfoFlags,
|
|
_In_ ULONG_PTR Info
|
|
);
|
|
|
|
// private // NtUserCallTwoParam(SFI_SCALESYSTEMMETRICFORDPIWITHOUTCACHE) before WIN11
|
|
_Must_inspect_result_
|
|
NTSYSCALLAPI
|
|
ULONG_PTR
|
|
NTAPI
|
|
NtUserScaleSystemMetricForDPIWithoutCache(
|
|
_In_ ULONG Metric,
|
|
_In_ ULONG ToDpi
|
|
);
|
|
|
|
#endif // PHNT_VERSION >= PHNT_WINDOWS_11
|
|
|
|
typedef _Function_class_(FN_DISPATCH)
|
|
NTSTATUS NTAPI FN_DISPATCH(
|
|
_In_opt_ PVOID Context
|
|
);
|
|
typedef FN_DISPATCH* PFN_DISPATCH;
|
|
|
|
// Peb!KernelCallbackTable = user32.dll!apfnDispatch
|
|
typedef struct _KERNEL_CALLBACK_TABLE
|
|
{
|
|
PFN_DISPATCH __fnCOPYDATA;
|
|
PFN_DISPATCH __fnCOPYGLOBALDATA;
|
|
PFN_DISPATCH __fnEMPTY1;
|
|
PFN_DISPATCH __fnNCDESTROY;
|
|
PFN_DISPATCH __fnDWORDOPTINLPMSG;
|
|
PFN_DISPATCH __fnINOUTDRAG;
|
|
PFN_DISPATCH __fnGETTEXTLENGTHS1;
|
|
PFN_DISPATCH __fnINCNTOUTSTRING;
|
|
PFN_DISPATCH __fnINCNTOUTSTRINGNULL;
|
|
PFN_DISPATCH __fnINLPCOMPAREITEMSTRUCT;
|
|
PFN_DISPATCH __fnINLPCREATESTRUCT;
|
|
PFN_DISPATCH __fnINLPDELETEITEMSTRUCT;
|
|
PFN_DISPATCH __fnINLPDRAWITEMSTRUCT;
|
|
PFN_DISPATCH __fnPOPTINLPUINT1;
|
|
PFN_DISPATCH __fnPOPTINLPUINT2;
|
|
PFN_DISPATCH __fnINLPMDICREATESTRUCT;
|
|
PFN_DISPATCH __fnINOUTLPMEASUREITEMSTRUCT;
|
|
PFN_DISPATCH __fnINLPWINDOWPOS;
|
|
PFN_DISPATCH __fnINOUTLPPOINT51;
|
|
PFN_DISPATCH __fnINOUTLPSCROLLINFO;
|
|
PFN_DISPATCH __fnINOUTLPRECT;
|
|
PFN_DISPATCH __fnINOUTNCCALCSIZE;
|
|
PFN_DISPATCH __fnINOUTLPPOINT52;
|
|
PFN_DISPATCH __fnINPAINTCLIPBRD;
|
|
PFN_DISPATCH __fnINSIZECLIPBRD;
|
|
PFN_DISPATCH __fnINDESTROYCLIPBRD;
|
|
PFN_DISPATCH __fnINSTRINGNULL1;
|
|
PFN_DISPATCH __fnINSTRINGNULL2;
|
|
PFN_DISPATCH __fnINDEVICECHANGE;
|
|
PFN_DISPATCH __fnPOWERBROADCAST;
|
|
PFN_DISPATCH __fnINLPUAHDRAWMENU1;
|
|
PFN_DISPATCH __fnOPTOUTLPDWORDOPTOUTLPDWORD1;
|
|
PFN_DISPATCH __fnOPTOUTLPDWORDOPTOUTLPDWORD2;
|
|
PFN_DISPATCH __fnOUTDWORDINDWORD;
|
|
PFN_DISPATCH __fnOUTLPRECT;
|
|
PFN_DISPATCH __fnOUTSTRING;
|
|
PFN_DISPATCH __fnPOPTINLPUINT3;
|
|
PFN_DISPATCH __fnPOUTLPINT;
|
|
PFN_DISPATCH __fnSENTDDEMSG;
|
|
PFN_DISPATCH __fnINOUTSTYLECHANGE1;
|
|
PFN_DISPATCH __fnHkINDWORD;
|
|
PFN_DISPATCH __fnHkINLPCBTACTIVATESTRUCT;
|
|
PFN_DISPATCH __fnHkINLPCBTCREATESTRUCT;
|
|
PFN_DISPATCH __fnHkINLPDEBUGHOOKSTRUCT;
|
|
PFN_DISPATCH __fnHkINLPMOUSEHOOKSTRUCTEX1;
|
|
PFN_DISPATCH __fnHkINLPKBDLLHOOKSTRUCT;
|
|
PFN_DISPATCH __fnHkINLPMSLLHOOKSTRUCT;
|
|
PFN_DISPATCH __fnHkINLPMSG;
|
|
PFN_DISPATCH __fnHkINLPRECT;
|
|
PFN_DISPATCH __fnHkOPTINLPEVENTMSG;
|
|
PFN_DISPATCH __xxxClientCallDelegateThread;
|
|
PFN_DISPATCH __ClientCallDummyCallback1;
|
|
PFN_DISPATCH __ClientCallDummyCallback2;
|
|
PFN_DISPATCH __fnSHELLWINDOWMANAGEMENTCALLOUT;
|
|
PFN_DISPATCH __fnSHELLWINDOWMANAGEMENTNOTIFY;
|
|
PFN_DISPATCH __ClientCallDummyCallback3;
|
|
PFN_DISPATCH __xxxClientCallDitThread;
|
|
PFN_DISPATCH __xxxClientEnableMMCSS;
|
|
PFN_DISPATCH __xxxClientUpdateDpi;
|
|
PFN_DISPATCH __xxxClientExpandStringW;
|
|
PFN_DISPATCH __ClientCopyDDEIn1;
|
|
PFN_DISPATCH __ClientCopyDDEIn2;
|
|
PFN_DISPATCH __ClientCopyDDEOut1;
|
|
PFN_DISPATCH __ClientCopyDDEOut2;
|
|
PFN_DISPATCH __ClientCopyImage;
|
|
PFN_DISPATCH __ClientEventCallback;
|
|
PFN_DISPATCH __ClientFindMnemChar;
|
|
PFN_DISPATCH __ClientFreeDDEHandle;
|
|
PFN_DISPATCH __ClientFreeLibrary;
|
|
PFN_DISPATCH __ClientGetCharsetInfo;
|
|
PFN_DISPATCH __ClientGetDDEFlags;
|
|
PFN_DISPATCH __ClientGetDDEHookData;
|
|
PFN_DISPATCH __ClientGetListboxString;
|
|
PFN_DISPATCH __ClientGetMessageMPH;
|
|
PFN_DISPATCH __ClientLoadImage;
|
|
PFN_DISPATCH __ClientLoadLibrary;
|
|
PFN_DISPATCH __ClientLoadMenu;
|
|
PFN_DISPATCH __ClientLoadLocalT1Fonts;
|
|
PFN_DISPATCH __ClientPSMTextOut;
|
|
PFN_DISPATCH __ClientLpkDrawTextEx;
|
|
PFN_DISPATCH __ClientExtTextOutW;
|
|
PFN_DISPATCH __ClientGetTextExtentPointW;
|
|
PFN_DISPATCH __ClientCharToWchar;
|
|
PFN_DISPATCH __ClientAddFontResourceW;
|
|
PFN_DISPATCH __ClientThreadSetup;
|
|
PFN_DISPATCH __ClientDeliverUserApc;
|
|
PFN_DISPATCH __ClientNoMemoryPopup;
|
|
PFN_DISPATCH __ClientMonitorEnumProc;
|
|
PFN_DISPATCH __ClientCallWinEventProc;
|
|
PFN_DISPATCH __ClientWaitMessageExMPH;
|
|
PFN_DISPATCH __ClientCallDummyCallback4;
|
|
PFN_DISPATCH __ClientCallDummyCallback5;
|
|
PFN_DISPATCH __ClientImmLoadLayout;
|
|
PFN_DISPATCH __ClientImmProcessKey;
|
|
PFN_DISPATCH __fnIMECONTROL;
|
|
PFN_DISPATCH __fnINWPARAMDBCSCHAR;
|
|
PFN_DISPATCH __fnGETTEXTLENGTHS2;
|
|
PFN_DISPATCH __ClientCallDummyCallback6;
|
|
PFN_DISPATCH __ClientLoadStringW;
|
|
PFN_DISPATCH __ClientLoadOLE;
|
|
PFN_DISPATCH __ClientRegisterDragDrop;
|
|
PFN_DISPATCH __ClientRevokeDragDrop;
|
|
PFN_DISPATCH __fnINOUTMENUGETOBJECT;
|
|
PFN_DISPATCH __ClientPrinterThunk;
|
|
PFN_DISPATCH __fnOUTLPCOMBOBOXINFO;
|
|
PFN_DISPATCH __fnOUTLPSCROLLBARINFO;
|
|
PFN_DISPATCH __fnINLPUAHDRAWMENU2;
|
|
PFN_DISPATCH __fnINLPUAHDRAWMENUITEM;
|
|
PFN_DISPATCH __fnINLPUAHDRAWMENU3;
|
|
PFN_DISPATCH __fnINOUTLPUAHMEASUREMENUITEM;
|
|
PFN_DISPATCH __fnINLPUAHDRAWMENU4;
|
|
PFN_DISPATCH __fnOUTLPTITLEBARINFOEX;
|
|
PFN_DISPATCH __fnTOUCH;
|
|
PFN_DISPATCH __fnGESTURE;
|
|
PFN_DISPATCH __fnPOPTINLPUINT4;
|
|
PFN_DISPATCH __fnPOPTINLPUINT5;
|
|
PFN_DISPATCH __xxxClientCallDefaultInputHandler;
|
|
PFN_DISPATCH __fnEMPTY2;
|
|
PFN_DISPATCH __ClientRimDevCallback;
|
|
PFN_DISPATCH __xxxClientCallMinTouchHitTestingCallback;
|
|
PFN_DISPATCH __ClientCallLocalMouseHooks;
|
|
PFN_DISPATCH __xxxClientBroadcastThemeChange;
|
|
PFN_DISPATCH __xxxClientCallDevCallbackSimple;
|
|
PFN_DISPATCH __xxxClientAllocWindowClassExtraBytes;
|
|
PFN_DISPATCH __xxxClientFreeWindowClassExtraBytes;
|
|
PFN_DISPATCH __fnGETWINDOWDATA;
|
|
PFN_DISPATCH __fnINOUTSTYLECHANGE2;
|
|
PFN_DISPATCH __fnHkINLPMOUSEHOOKSTRUCTEX2;
|
|
PFN_DISPATCH __xxxClientCallDefWindowProc;
|
|
PFN_DISPATCH __fnSHELLSYNCDISPLAYCHANGED;
|
|
PFN_DISPATCH __fnHkINLPCHARHOOKSTRUCT;
|
|
PFN_DISPATCH __fnINTERCEPTEDWINDOWACTION;
|
|
PFN_DISPATCH __xxxTooltipCallback;
|
|
PFN_DISPATCH __xxxClientInitPSBInfo;
|
|
PFN_DISPATCH __xxxClientDoScrollMenu;
|
|
PFN_DISPATCH __xxxClientEndScroll;
|
|
PFN_DISPATCH __xxxClientDrawSize;
|
|
PFN_DISPATCH __xxxClientDrawScrollBar;
|
|
PFN_DISPATCH __xxxClientHitTestScrollBar;
|
|
PFN_DISPATCH __xxxClientTrackInit;
|
|
} KERNEL_CALLBACK_TABLE, *PKERNEL_CALLBACK_TABLE;
|
|
|
|
#endif // _NTUSER_H
|