Module functions

Source
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 from win32u.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:

Modules§

user_call
Direct access to the underlying NtUserCall* syscalls.

Enums§

NtUserCall
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 in crate::indices at runtime.

Functions§

NtUserAllowForegroundActivation
NtUserAllowSetForegroundWindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-allowsetforegroundwindow
NtUserArrangeIconicWindows
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-arrangeiconicwindows
NtUserBeginDeferWindowPos
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-begindeferwindowpos
NtUserBroadcastImeShowStatusChange
NtUserCancelQueueEventCompletionPacket
NtUserChangeWindowMessageFilter
NtUserCheckImeShowStatusInThread
NtUserCitSetInfo
NtUserClearWakeMask
NtUserClearWindowState
NtUserCreateEmptyCursorObject
NtUserCreateMenu
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createmenu
NtUserCreatePopupMenu
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-createpopupmenu
NtUserCreateSystemThreads
NtUserCsDdeUninitialize
NtUserDWP_GetEnabledPopup
NtUserDWP_GetEnabledPopupOffset
NtUserDeferredDesktopRotation
NtUserDeregisterShellHookWindow
NtUserDesktopHasWatermarkText
NtUserDestroyCaret
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-destroycaret
NtUserDirectedYield
NOP
NtUserDisableProcessWindowsGhosting
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-disableprocesswindowsghosting
NtUserDoInitMessagePumpHook
NtUserDoUninitMessagePumpHook
NtUserDrainThreadCoreMessagingCompletions
NtUserDrawMenuBar
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-drawmenubar
NtUserDwmLockScreenUpdates
May only be called by winlogon.
NtUserEditionGetExecutionEvironment
NtUserEditionPostKeyboardInputMessage
Always returns STATUS_NOT_SUPPORTED.
NtUserEnableMiPShellThread
NtUserEnableModernAppWindowKeyboardIntercept
May only be called by the immersive broker, otherwise returns 0 with GetLastError() == ERROR_ACCESS_DENIED.
NtUserEnableMouseInPointerForThread
NtUserEnablePerMonitorMenuScaling
NtUserEnableSessionForMMCSS
May only be called by dwm, returns FALSE otherwise.
NtUserEnableShellWindowManagementBehavior
NtUserEnableWindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enablewindow
NtUserEnsureDpiDepSysMetCacheForPlateau
NtUserEnumClipboardFormats
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumclipboardformats
NtUserForceEnableNumpadTranslation
NtUserGetClassIcoCur
See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclasslongptrw. index may be GCLP_HCURSOR or GCLP_HICON.
NtUserGetCursorPos
1 = regular, 2 = logical pos from dpi awareness context
NtUserGetDeviceChangeInfo
NtUserGetHDevName
NtUserGetIMEShowStatus
NtUserGetInputDesktop
NtUserGetInputEvent
NtUserGetKeyboardLayout
NtUserGetKeyboardType
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getkeyboardtype
NtUserGetMessagePos
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmessagepos
NtUserGetModernAppWindow
NtUserGetProcessDefaultLayout
NtUserGetQueueIocp
NtUserGetQueueStatus
NtUserGetSendMessageReceiver
NtUserGetSysMenuHandle
NtUserGetSysMenuOffset
NtUserGetUnpredictedMessagePos
NtUserGetWinStationInfo
NtUserGetWindowContextHelpId
NtUserGetWindowTrackInfoAsync
Needs IAM access.
NtUserHandleSystemThreadCreationFailure
NtUserHideCursorNoCapture
NtUserInitAnsiOem
NtUserInitThreadCoreMessagingIocp
NtUserIsMiPShellThreadEnabled
NtUserIsQueueAttached
NtUserKbdNlsFuncTypeDummy
NtUserKillSystemTimer
NtUserLW_LoadFonts
NtUserLoadCursorsAndIcons
NtUserLoadUserApiHook
NtUserLockSetForegroundWindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-locksetforegroundwindow
NtUserMapDesktopObject
NtUserMessageBeep
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebeep
NtUserMonitorFromWindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-monitorfromwindow
NtUserNlsKbdSendIMENotification
NtUserNotifyOverlayWindow
NtUserPlayEventSound
NtUserPostQuitMessage
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postquitmessage
NtUserPostUIActions
May only be called by the immersive broker, otherwise returns 0 with GetLastError() == ERROR_ACCESS_DENIED.
NtUserPrepareForLogoff
NtUserRealizePalette
https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-realizepalette
NtUserReassociateQueueEventCompletionPacket
NtUserRedrawFrame
Equivalent to SetWindowPos(hwnd, HWND::default(), 0, 0, 0, 0, SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER)
NtUserRedrawFrameAndHook
Redraws and calls WH_SYSMSGFILTER hooks if a tray window
NtUserRedrawTitle
NtUserRegisterGhostWindow
May only be called by DWM, returns FALSE with GetLastError() == ERROR_ACCESS_DENIED otherwise.
NtUserRegisterKeyboardCorrectionCallout
May only be called by the immersive broker, otherwise returns FALSE with GetLastError() == ERROR_ACCESS_DENIED.
NtUserRegisterLPK
NtUserRegisterLogonProcess
NtUserRegisterShellHookWindow
NtUserRegisterSiblingFrostWindow
NtUserRegisterSystemThread
NtUserRegisterUserHungAppHandlers
NtUserRegisterWindowArrangementCallout
NtUserReleaseCapture
NtUserReleaseDC
NtUserRemoteConnectState
NtUserRemoteConsoleShadowStop
NtUserRemoteDisconnect
NtUserRemoteLogoff
NtUserRemoteNotify
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteNtSecurity
Always returns STATUS_NOT_SUPPORTED.
NtUserRemotePassthruDisable
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemotePassthruEnable
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteReconnect
NtUserRemoteShadowCleanup
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteShadowSetup
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteShadowStart
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteShadowStop
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoteThinwireStats
May only be called by CSRSS, returns STATUS_ACCESS_DENIED otherwise.
NtUserRemoveQueueCompletion
NtUserReplyMessage
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-replymessage
NtUserResetDblClk
NtUserScaleSystemMetricForDPIWithoutCache
NtUserScheduleDispatchNotification
NtUserSetActiveImmersiveWindow
Needs IAM access.
NtUserSetCancelRotationDelayHintWindow
NtUserSetCaretBlinkTime
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcaretblinktime
NtUserSetCaretPos
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcaretpos
NtUserSetCursorPos
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcursorpos
NtUserSetDialogPointer
NtUserSetDialogSystemMenu
NtUserSetDoubleClickTime
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setdoubleclicktime
NtUserSetMessageExtraInfo
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setmessageextrainfo
NtUserSetModernAppWindow
NtUserSetMsgBox
NtUserSetPhysicalCursorPos
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setphysicalcursorpos
NtUserSetProcessDefaultLayout
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setprocessdefaultlayout
NtUserSetProgmanWindow
NtUserSetShellChangeNotifyHWND
NtUserSetSysMenu
NtUserSetTSFEventState
NtUserSetTaskmanWindow
NtUserSetThreadQueueMergeSetting
NtUserSetVisible
NtUserSetWaitForQueueAttach
NtUserSetWatermarkStrings
May only be called by winlogon, returns FALSE otherwise.
NtUserSetWindowContextHelpId
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowcontexthelpid
NtUserSetWindowState
NtUserShowCursor
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showcursor
NtUserShowOwnedPopups
NtUserShowStartGlass
NtUserStubSetForegroundWindow
NtUserSwapMouseButton
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-swapmousebutton
NtUserSwitchToThisWindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-switchtothiswindow
NtUserThreadMessageQueueAttached
NtUserTraceLoggingSendMixedModeTelemetry
NtUserUnhookWindowsHook
NtUserUpdateClientRect
NtUserUpdatePerUserImmEnabling
NtUserUpdateWindow
NtUserUpdateWindows
NtUserUserPowerCalloutWorker
NtUserValidateRgn
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-validatergn
NtUserWOWCleanup
NtUserWOWModuleUnload
NtUserWakeRITForShutdown
May only be called by CSRSS, returns STATUS_UNSUPPORTED otherwise.
NtUserWindowFromDC
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-windowfromdc
NtUserZapActiveAndFocus