Expand description
Provides abstractions for all entries in the apfnSimpleCall
table.
Depending on the operating system the program is running on, the syscalls are invoked differently:
- On Windows 11 or newer, the function is loaded from
win32u.dll
. - On older operating systems the function is invoked via the
NtUserCall*
family of syscalls, loaded fromwin32u.dll
. - On Windows 7 to 8.1,
NtUserCall*
syscalls are not exported, and the syscalls are invoked directly via inline assembly.
Function resolution happens the first time the function is called.
Errors:
UserCallError::OsNotSupported
: The crate does not contain table entry indices.UserCallError::LibraryNotFound
: A required DLL has not been loaded.UserCallError::CallNotFound
: The function cannot be invoked on the current operating system.
Modules§
- user_
call - Direct access to the underlying NtUserCall* syscalls.
Enums§
- NtUser
Call - The sum of all functions accessible via the
NtUserCall*
family of system calls in all supported operating systems. The variants will be mapped to the respective function indices incrate::indices
at runtime.
Functions§
- NtUser
Allow ⚠Foreground Activation - NtUser
Allow ⚠SetForeground Window - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-allowsetforegroundwindow
- NtUser
Arrange ⚠Iconic Windows - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-arrangeiconicwindows
- NtUser
Begin ⚠Defer Window Pos - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-begindeferwindowpos
- NtUser
Broadcast ⚠ImeShow Status Change - NtUser
Cancel ⚠Queue Event Completion Packet - NtUser
Change ⚠Window Message Filter - NtUser
Check ⚠ImeShow Status InThread - NtUser
CitSet ⚠Info - NtUser
Clear ⚠Wake Mask - NtUser
Clear ⚠Window State - NtUser
Create ⚠Empty Cursor Object - NtUser
Create ⚠Menu - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createmenu
- NtUser
Create ⚠Popup Menu - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createpopupmenu
- NtUser
Create ⚠System Threads - NtUser
CsDde ⚠Uninitialize - NtUserDWP_
GetEnabled ⚠Popup - NtUserDWP_
GetEnabled ⚠Popup Offset - NtUser
Deferred ⚠Desktop Rotation - NtUser
Deregister ⚠Shell Hook Window - NtUser
Desktop ⚠HasWatermark Text - NtUser
Destroy ⚠Caret - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-destroycaret
- NtUser
Directed ⚠Yield - NOP
- NtUser
Disable ⚠Process Windows Ghosting - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-disableprocesswindowsghosting
- NtUser
DoInit ⚠Message Pump Hook - NtUser
DoUninit ⚠Message Pump Hook - NtUser
Drain ⚠Thread Core Messaging Completions - NtUser
Draw ⚠Menu Bar - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-drawmenubar
- NtUser
DwmLock ⚠Screen Updates - May only be called by winlogon.
- NtUser
Edition ⚠GetExecution Evironment - NtUser
Edition ⚠Post Keyboard Input Message - Always returns STATUS_NOT_SUPPORTED.
- NtUser
Enable ⚠MiPShell Thread - NtUser
Enable ⚠Modern AppWindow Keyboard Intercept - May only be called by the immersive broker, otherwise returns 0 with GetLastError() == ERROR_ACCESS_DENIED.
- NtUser
Enable ⚠Mouse InPointer ForThread - NtUser
Enable ⚠PerMonitor Menu Scaling - NtUser
Enable ⚠Session ForMMCSS - May only be called by dwm, returns FALSE otherwise.
- NtUser
Enable ⚠Shell Window Management Behavior - NtUser
Enable ⚠Window - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enablewindow
- NtUser
Ensure ⚠DpiDep SysMet Cache ForPlateau - NtUser
Enum ⚠Clipboard Formats - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumclipboardformats
- NtUser
Force ⚠Enable Numpad Translation - NtUser
GetClass ⚠IcoCur - See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclasslongptrw.
index
may be GCLP_HCURSOR or GCLP_HICON. - NtUser
GetCursor ⚠Pos - 1 = regular, 2 = logical pos from dpi awareness context
- NtUser
GetDevice ⚠Change Info - NtUser
GetH ⚠DevName - NtUser
GetIME ⚠Show Status - NtUser
GetInput ⚠Desktop - NtUser
GetInput ⚠Event - NtUser
GetKeyboard ⚠Layout - NtUser
GetKeyboard ⚠Type - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getkeyboardtype
- NtUser
GetMessage ⚠Pos - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmessagepos
- NtUser
GetModern ⚠AppWindow - NtUser
GetProcess ⚠Default Layout - NtUser
GetQueue ⚠Iocp - NtUser
GetQueue ⚠Status - NtUser
GetSend ⚠Message Receiver - NtUser
GetSys ⚠Menu Handle - NtUser
GetSys ⚠Menu Offset - NtUser
GetUnpredicted ⚠Message Pos - NtUser
GetWin ⚠Station Info - NtUser
GetWindow ⚠Context Help Id - NtUser
GetWindow ⚠Track Info Async - Needs IAM access.
- NtUser
Handle ⚠System Thread Creation Failure - NtUser
Hide ⚠Cursor NoCapture - NtUser
Init ⚠Ansi Oem - NtUser
Init ⚠Thread Core Messaging Iocp - NtUser
IsMiP ⚠Shell Thread Enabled - NtUser
IsQueue ⚠Attached - NtUser
KbdNls ⚠Func Type Dummy - NtUser
Kill ⚠System Timer - NtUserLW_
Load ⚠Fonts - NtUser
Load ⚠Cursors AndIcons - NtUser
Load ⚠User ApiHook - NtUser
Lock ⚠SetForeground Window - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-locksetforegroundwindow
- NtUser
MapDesktop ⚠Object - NtUser
Message ⚠Beep - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebeep
- NtUser
Monitor ⚠From Window - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-monitorfromwindow
- NtUser
NlsKbd ⚠SendIME Notification - NtUser
Notify ⚠Overlay Window - NtUser
Play ⚠Event Sound - NtUser
Post ⚠Quit Message - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postquitmessage
- NtUser
PostUI ⚠Actions - May only be called by the immersive broker, otherwise returns 0 with GetLastError() == ERROR_ACCESS_DENIED.
- NtUser
Prepare ⚠ForLogoff - NtUser
Realize ⚠Palette - https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-realizepalette
- NtUser
Reassociate ⚠Queue Event Completion Packet - NtUser
Redraw ⚠Frame - Equivalent to
SetWindowPos(hwnd, HWND::default(), 0, 0, 0, 0, SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER)
- NtUser
Redraw ⚠Frame AndHook - Redraws and calls WH_SYSMSGFILTER hooks if a tray window
- NtUser
Redraw ⚠Title - NtUser
Register ⚠Ghost Window - May only be called by DWM, returns FALSE with GetLastError() == ERROR_ACCESS_DENIED otherwise.
- NtUser
Register ⚠Keyboard Correction Callout - May only be called by the immersive broker, otherwise returns FALSE with GetLastError() == ERROR_ACCESS_DENIED.
- NtUser
RegisterLPK ⚠ - NtUser
Register ⚠Logon Process - NtUser
Register ⚠Shell Hook Window - NtUser
Register ⚠Sibling Frost Window - NtUser
Register ⚠System Thread - NtUser
Register ⚠User Hung AppHandlers - NtUser
Register ⚠Window Arrangement Callout - NtUser
Release ⚠Capture - NtUser
ReleaseDC ⚠ - NtUser
Remote ⚠Connect State - NtUser
Remote ⚠Console Shadow Stop - NtUser
Remote ⚠Disconnect - NtUser
Remote ⚠Logoff - NtUser
Remote ⚠Notify - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠NtSecurity - Always returns STATUS_NOT_SUPPORTED.
- NtUser
Remote ⚠Passthru Disable - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Passthru Enable - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Reconnect - NtUser
Remote ⚠Shadow Cleanup - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Shadow Setup - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Shadow Start - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Shadow Stop - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remote ⚠Thinwire Stats - May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
- NtUser
Remove ⚠Queue Completion - NtUser
Reply ⚠Message - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-replymessage
- NtUser
Reset ⚠DblClk - NtUser
Scale ⚠System Metric ForDPI Without Cache - NtUser
Schedule ⚠Dispatch Notification - NtUser
SetActive ⚠Immersive Window - Needs IAM access.
- NtUser
SetCancel ⚠Rotation Delay Hint Window - NtUser
SetCaret ⚠Blink Time - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcaretblinktime
- NtUser
SetCaret ⚠Pos - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcaretpos
- NtUser
SetCursor ⚠Pos - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcursorpos
- NtUser
SetDialog ⚠Pointer - NtUser
SetDialog ⚠System Menu - NtUser
SetDouble ⚠Click Time - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setdoubleclicktime
- NtUser
SetMessage ⚠Extra Info - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setmessageextrainfo
- NtUser
SetModern ⚠AppWindow - NtUser
SetMsg ⚠Box - NtUser
SetPhysical ⚠Cursor Pos - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setphysicalcursorpos
- NtUser
SetProcess ⚠Default Layout - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setprocessdefaultlayout
- NtUser
SetProgman ⚠Window - NtUser
SetShell ⚠Change NotifyHWND - NtUser
SetSys ⚠Menu - NtUser
SetTSF ⚠Event State - NtUser
SetTaskman ⚠Window - NtUser
SetThread ⚠Queue Merge Setting - NtUser
SetVisible ⚠ - NtUser
SetWait ⚠ForQueue Attach - NtUser
SetWatermark ⚠Strings - May only be called by winlogon, returns FALSE otherwise.
- NtUser
SetWindow ⚠Context Help Id - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowcontexthelpid
- NtUser
SetWindow ⚠State - NtUser
Show ⚠Cursor - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showcursor
- NtUser
Show ⚠Owned Popups - NtUser
Show ⚠Start Glass - NtUser
Stub ⚠SetForeground Window - NtUser
Swap ⚠Mouse Button - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-swapmousebutton
- NtUser
Switch ⚠ToThis Window - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-switchtothiswindow
- NtUser
Thread ⚠Message Queue Attached - NtUser
Trace ⚠Logging Send Mixed Mode Telemetry - NtUser
Unhook ⚠Windows Hook - NtUser
Update ⚠Client Rect - NtUser
Update ⚠PerUser ImmEnabling - NtUser
Update ⚠Window - NtUser
Update ⚠Windows - NtUser
User ⚠Power Callout Worker - NtUser
Validate ⚠Rgn - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-validatergn
- NtUserWOW
Cleanup ⚠ - NtUserWOW
Module ⚠Unload - NtUser
WakeRIT ⚠ForShutdown - May only be called by CSRSS, returns STATUS_UNSUPPORTED otherwise.
- NtUser
Window ⚠FromDC - https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-windowfromdc
- NtUser
ZapActive ⚠AndFocus