ReactOS 0.4.15-dev-5893-g1bb4167
ntuser.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _TL
 

Macros

#define DECLARE_RETURN(type)   type _ret_
 
#define RETURN(value)   { _ret_ = value; goto _cleanup_; }
 
#define CLEANUP   /*unreachable*/ ASSERT(FALSE); _cleanup_
 
#define END_CLEANUP   return _ret_;
 
#define UserEnterCo   UserEnterExclusive
 
#define UserLeaveCo   UserLeave
 

Typedefs

typedef VOID(* TL_FN_FREE) (PVOID)
 
typedef struct _TL TL
 
typedef struct _TLPTL
 

Functions

 CODE_SEG ("INIT") NTSTATUS NTAPI InitUserImpl(VOID)
 
VOID FASTCALL CleanupUserImpl (VOID)
 
VOID FASTCALL UserEnterShared (VOID)
 
VOID FASTCALL UserEnterExclusive (VOID)
 
VOID FASTCALL UserLeave (VOID)
 
BOOL FASTCALL UserIsEntered (VOID)
 
BOOL FASTCALL UserIsEnteredExclusive (VOID)
 
DWORD FASTCALL UserGetLanguageToggle (VOID)
 
 _Success_ (return !=FALSE) BOOL NTAPI RegReadUserSetting(_In_z_ PCWSTR pwszKeyName
 
_In_z_ PCWSTR _In_ ULONG _Out_writes_bytes_ (cjDataSize) _When_(ulType
 
_In_z_ PCWSTR _In_ ULONG _In_reads_bytes_ (cjDataSize) const VOID *pvData
 
PGRAPHICS_DEVICE NTAPI InitDisplayDriver (IN PWSTR pwszDeviceName, IN PWSTR pwszRegKey)
 

Variables

PSERVERINFO gpsi
 
PTHREADINFO gptiCurrent
 
PPROCESSINFO gppiList
 
PPROCESSINFO ppiScrnSaver
 
PPROCESSINFO gppiInputProvider
 
BOOL g_AlwaysDisplayVersion
 
ATOM gaGuiConsoleWndClass
 
ATOM AtomDDETrack
 
ATOM AtomQOS
 
ATOM AtomImeLevel
 
ERESOURCE UserLock
 
_In_z_ PCWSTR pwszValueName
 
_In_z_ PCWSTR _In_ ULONG ulType
 
_In_z_ PCWSTR _In_ ULONG _Post_z_ PVOID pvData
 
_In_z_ PCWSTR _In_ ULONG _Post_z_ PVOID _In_ ULONG cjDataSize
 

Macro Definition Documentation

◆ CLEANUP

#define CLEANUP   /*unreachable*/ ASSERT(FALSE); _cleanup_

Definition at line 5 of file ntuser.h.

◆ DECLARE_RETURN

#define DECLARE_RETURN (   type)    type _ret_

Definition at line 3 of file ntuser.h.

◆ END_CLEANUP

#define END_CLEANUP   return _ret_;

Definition at line 6 of file ntuser.h.

◆ RETURN

#define RETURN (   value)    { _ret_ = value; goto _cleanup_; }

Definition at line 4 of file ntuser.h.

◆ UserEnterCo

#define UserEnterCo   UserEnterExclusive

Definition at line 8 of file ntuser.h.

◆ UserLeaveCo

#define UserLeaveCo   UserLeave

Definition at line 9 of file ntuser.h.

Typedef Documentation

◆ PTL

typedef struct _TL * PTL

◆ TL

typedef struct _TL TL

◆ TL_FN_FREE

typedef VOID(* TL_FN_FREE) (PVOID)

Definition at line 11 of file ntuser.h.

Function Documentation

◆ _In_reads_bytes_()

_In_z_ PCWSTR _In_ ULONG _In_reads_bytes_ ( cjDataSize  ) const

◆ _Out_writes_bytes_()

_In_z_ PCWSTR _In_ ULONG _Out_writes_bytes_ ( cjDataSize  )

◆ _Success_()

_Success_ ( return = FALSE)

Definition at line 1042 of file fsctrl.c.

3189{
3191
3192 PVPB Vpb = Vcb->Vpb;
3193 PVPB OldVpb;
3194
3195 BOOLEAN Remount = FALSE;
3196
3197 PAGED_CODE();
3198
3199 UNREFERENCED_PARAMETER( IrpContext );
3200
3201 //
3202 // Check whether we are looking for a device only Mvcb.
3203 //
3204
3205 for (Link = CdData.VcbQueue.Flink;
3206 Link != &CdData.VcbQueue;
3207 Link = Link->Flink) {
3208
3209 *OldVcb = CONTAINING_RECORD( Link, VCB, VcbLinks );
3210
3211 //
3212 // Skip ourselves.
3213 //
3214
3215 if (Vcb == *OldVcb) { continue; }
3216
3217 //
3218 // Look at the Vpb and state of the previous Vcb.
3219 //
3220
3221 OldVpb = (*OldVcb)->Vpb;
3222
3223 if ((OldVpb != Vpb) &&
3224 (OldVpb->RealDevice == Vpb->RealDevice) &&
3225 ((*OldVcb)->VcbCondition == VcbNotMounted)) {
3226
3227 //
3228 // If the current disk is a raw disk then it can match a previous music or
3229 // raw disk.
3230 //
3231
3232 if (FlagOn( Vcb->VcbState, VCB_STATE_AUDIO_DISK)) {
3233
3234 if (FlagOn( (*OldVcb)->VcbState, VCB_STATE_AUDIO_DISK )) {
3235
3236 //
3237 // If we have both TOC then fail the remount if the lengths
3238 // are different or they don't match.
3239 //
3240
3241 if ((Vcb->TocLength != (*OldVcb)->TocLength) ||
3242 ((Vcb->TocLength != 0) &&
3243 !RtlEqualMemory( Vcb->CdromToc,
3244 (*OldVcb)->CdromToc,
3245 Vcb->TocLength ))) {
3246
3247 continue;
3248 }
3249
3250 Remount = TRUE;
3251 break;
3252 }
3253
3254 //
3255 // The current disk is not a raw disk. Go ahead and compare
3256 // serial numbers, volume label and TOC.
3257 //
3258
3259 }
3260 else if ((OldVpb->SerialNumber == Vpb->SerialNumber) &&
3261 (Vcb->TocLength == (*OldVcb)->TocLength) &&
3262 ((Vcb->TocLength == 0) || RtlEqualMemory( Vcb->CdromToc,
3263 (*OldVcb)->CdromToc,
3264 Vcb->TocLength )) &&
3265 (Vpb->VolumeLabelLength == OldVpb->VolumeLabelLength) &&
3266 (RtlEqualMemory( OldVpb->VolumeLabel,
3267 Vpb->VolumeLabel,
3268 Vpb->VolumeLabelLength ))) {
3269 //
3270 // Remember the old Vcb. Then set the return value to
3271 // TRUE and break.
3272 //
3273
3274 Remount = TRUE;
3275 break;
3276 }
3277 }
3278 }
3279
3280 return Remount;
3281}
#define PAGED_CODE()
unsigned char BOOLEAN
CD_DATA CdData
Definition: cddata.c:42
#define VCB_STATE_AUDIO_DISK
Definition: cdstruc.h:712
@ VcbNotMounted
Definition: cdstruc.h:490
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1675
#define RtlEqualMemory(a, b, c)
Definition: kdvm.h:18
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define Vcb
Definition: cdprocs.h:1415
LIST_ENTRY VcbQueue
Definition: cdstruc.h:334
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: cdstruc.h:498
Definition: iotypes.h:189
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:198
USHORT VolumeLabelLength
Definition: iotypes.h:193
ULONG SerialNumber
Definition: iotypes.h:196
struct _DEVICE_OBJECT * RealDevice
Definition: iotypes.h:195
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
static int Link(const char **args)
Definition: vfdcmd.c:2414

◆ CleanupUserImpl()

VOID FASTCALL CleanupUserImpl ( VOID  )

Definition at line 232 of file ntuser.c.

233{
235}
#define ExDeleteResourceLite(res)
Definition: env_spec_w32.h:647
ERESOURCE UserLock
Definition: ntuser.c:18

◆ CODE_SEG()

CODE_SEG ( "INIT"  )

Definition at line 1810 of file Interface.c.

1817{
1818 UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\FileSystem\\Filters\\"DRIVER_NAME);
1819 PDEVICE_OBJECT RawDeviceObject;
1821 PFILE_OBJECT RawFileObject;
1823 UNICODE_STRING SymLink;
1824
1826
1829
1830 /* Save the registry key for this driver */
1834 RegistryPath->MaximumLength,
1838
1839 /* Do some initialization */
1841
1842 /* Create the main filter manager device object */
1844 0,
1845 &DeviceName,
1848 FALSE,
1849 &DeviceObject);
1850 if (!NT_SUCCESS(Status))
1851 {
1852 DPRINT1("fltmgr IoCreateDevice failed. Status = %X\n", Status);
1853 goto Cleanup;
1854 }
1855
1856 /* Store a global reference so we can access from callbacks */
1858
1859 /* Generate the symbolic link name */
1860 RtlInitUnicodeString(&SymLink, L"\\??\\"DRIVER_NAME);
1862 if (!NT_SUCCESS(Status)) goto Cleanup;
1863
1864 /* Create the callbacks for the dispatch table, FastIo and FS callbacks */
1866 if (!NT_SUCCESS(Status)) goto Cleanup;
1867
1868 /* Initialize the comms objects */
1870 if (!NT_SUCCESS(Status)) goto Cleanup;
1871
1872 /* Register for notifications when a new file system is loaded. This also enumerates any existing file systems */
1874 FLT_ASSERT(Status != STATUS_DEVICE_ALREADY_ATTACHED); // Windows checks for this, I'm not sure how it can happen. Needs investigation??
1875 if (!NT_SUCCESS(Status)) goto Cleanup;
1876
1879
1880 /* IoRegisterFsRegistrationChange isn't notified about the raw file systems, so we attach to them manually */
1881 RtlInitUnicodeString(&ObjectName, L"\\Device\\RawDisk");
1884 &RawFileObject,
1885 &RawDeviceObject);
1886 if (NT_SUCCESS(Status))
1887 {
1888 FltpFsNotification(RawDeviceObject, TRUE);
1889 ObDereferenceObject(RawFileObject);
1890 }
1891
1892 RtlInitUnicodeString(&ObjectName, L"\\Device\\RawCdRom");
1895 &RawFileObject,
1896 &RawDeviceObject);
1897 if (NT_SUCCESS(Status))
1898 {
1899 FltpFsNotification(RawDeviceObject, TRUE);
1900 ObDereferenceObject(RawFileObject);
1901 }
1902
1903 /* We're done, clear the initializing flag */
1906
1907Cleanup:
1908
1909 if (!NT_SUCCESS(Status))
1910 {
1912 {
1913 DriverObject->FastIoDispatch = NULL;
1915 }
1916
1917 IoDeleteSymbolicLink(&SymLink);
1918
1919 if (DeviceObject)
1921
1924 }
1925
1926 return Status;
1927}
LIST_ENTRY FilterList
Definition: Filter.c:24
DRIVER_FS_NOTIFICATION FltpFsNotification
Definition: Interface.c:1699
ERESOURCE FilterListLock
Definition: Filter.c:25
static NTSTATUS SetupDispatchAndCallbacksTables(_In_ PDRIVER_OBJECT DriverObject)
Definition: Interface.c:1739
DRIVER_DATA DriverData
Definition: Interface.c:35
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
#define FILE_DEVICE_SECURE_OPEN
Definition: cdrw_usr.h:46
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static const WCHAR Cleanup[]
Definition: register.c:80
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
NTSTATUS ExInitializeResourceLite(PULONG res)
Definition: env_spec_w32.h:641
#define DO_DEVICE_INITIALIZING
Definition: env_spec_w32.h:399
#define NonPagedPool
Definition: env_spec_w32.h:307
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define ClearFlag(_F, _SF)
Definition: ext2fs.h:191
#define DRIVER_NAME
Definition: ext2fs.h:136
#define FLT_ASSERT(_e)
Definition: fltkernel.h:49
#define FM_TAG_REGISTRY_DATA
Definition: fltmgr.h:18
#define FM_TAG_DISPATCH_TABLE
Definition: fltmgr.h:17
NTSTATUS FltpSetupCommunicationObjects(_In_ PDRIVER_OBJECT DriverObject)
Definition: Messaging.c:377
Status
Definition: gdiplustypes.h:25
#define ExFreePoolWithTag(_P, _T)
Definition: module.h:1099
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
#define FILE_READ_ATTRIBUTES
Definition: nt_native.h:647
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
Definition: device.c:1031
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
Definition: device.c:1251
NTSTATUS NTAPI IoGetDeviceObjectPointer(IN PUNICODE_STRING ObjectName, IN ACCESS_MASK DesiredAccess, OUT PFILE_OBJECT *FileObject, OUT PDEVICE_OBJECT *DeviceObject)
Definition: device.c:1435
NTSTATUS NTAPI IoRegisterFsRegistrationChange(IN PDRIVER_OBJECT DriverObject, IN PDRIVER_FS_NOTIFICATION DriverNotificationRoutine)
Definition: volume.c:1089
#define STATUS_DEVICE_ALREADY_ATTACHED
Definition: ntstatus.h:292
#define L(x)
Definition: ntvdm.h:50
#define FILE_DEVICE_DISK_FILE_SYSTEM
Definition: winioctl.h:114
#define STATUS_SUCCESS
Definition: shellext.h:65
PDRIVER_OBJECT DriverObject
Definition: fltmgr.h:31
UNICODE_STRING ServiceKey
Definition: fltmgr.h:33
PFAST_IO_DISPATCH FastIoDispatch
Definition: fltmgr.h:37
FAST_MUTEX FilterAttachLock
Definition: fltmgr.h:39
PDEVICE_OBJECT DeviceObject
Definition: fltmgr.h:32
USHORT MaximumLength
Definition: env_spec_w32.h:370
#define RTL_CONSTANT_STRING(s)
Definition: tunneltest.c:14
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
uint16_t * PWCHAR
Definition: typedefs.h:56
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3275
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
Definition: wdfdriver.h:215
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:64
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
Definition: exfuncs.h:274
* PFILE_OBJECT
Definition: iotypes.h:1998
#define ObDereferenceObject
Definition: obfuncs.h:203

◆ InitDisplayDriver()

PGRAPHICS_DEVICE NTAPI InitDisplayDriver ( IN PWSTR  pwszDeviceName,
IN PWSTR  pwszRegKey 
)

Definition at line 66 of file display.c.

69{
70 PGRAPHICS_DEVICE pGraphicsDevice;
71 UNICODE_STRING ustrDeviceName, ustrDisplayDrivers, ustrDescription;
73 WCHAR awcBuffer[128];
74 ULONG cbSize;
75 HKEY hkey;
76 DWORD dwVga;
77
78 TRACE("InitDisplayDriver(%S, %S);\n",
79 pwszDeviceName, pwszRegKey);
80
81 /* Open the driver's registry key */
82 Status = RegOpenKey(pwszRegKey, &hkey);
83 if (!NT_SUCCESS(Status))
84 {
85 ERR("Failed to open registry key: %ls\n", pwszRegKey);
86 return NULL;
87 }
88
89 /* Query the diplay drivers */
90 cbSize = sizeof(awcBuffer) - 10;
91 Status = RegQueryValue(hkey,
92 L"InstalledDisplayDrivers",
94 awcBuffer,
95 &cbSize);
96 if (!NT_SUCCESS(Status))
97 {
98 ERR("Didn't find 'InstalledDisplayDrivers', status = 0x%lx\n", Status);
99 ZwClose(hkey);
100 return NULL;
101 }
102
103 /* Initialize the UNICODE_STRING */
104 ustrDisplayDrivers.Buffer = awcBuffer;
105 ustrDisplayDrivers.MaximumLength = (USHORT)cbSize;
106 ustrDisplayDrivers.Length = (USHORT)cbSize;
107
108 /* Set Buffer for description and size of remaining buffer */
109 ustrDescription.Buffer = awcBuffer + (cbSize / sizeof(WCHAR));
110 cbSize = sizeof(awcBuffer) - cbSize;
111
112 /* Query the device string */
113 Status = RegQueryValue(hkey,
114 L"Device Description",
115 REG_SZ,
116 ustrDescription.Buffer,
117 &cbSize);
118 if (NT_SUCCESS(Status))
119 {
120 ustrDescription.MaximumLength = (USHORT)cbSize;
121 ustrDescription.Length = (USHORT)cbSize;
122 }
123 else
124 {
125 RtlInitUnicodeString(&ustrDescription, L"<unknown>");
126 }
127
128 /* Query if this is a VGA compatible driver */
129 cbSize = sizeof(DWORD);
130 Status = RegQueryValue(hkey, L"VgaCompatible", REG_DWORD, &dwVga, &cbSize);
131 if (!NT_SUCCESS(Status)) dwVga = 0;
132
133 /* Close the registry key */
134 ZwClose(hkey);
135
136 /* Register the device with GDI */
137 RtlInitUnicodeString(&ustrDeviceName, pwszDeviceName);
138 pGraphicsDevice = EngpRegisterGraphicsDevice(&ustrDeviceName,
139 &ustrDisplayDrivers,
140 &ustrDescription);
141 if (pGraphicsDevice && dwVga)
142 {
143 pGraphicsDevice->StateFlags |= DISPLAY_DEVICE_VGA_COMPATIBLE;
144 }
145
146 return pGraphicsDevice;
147}
#define ERR(fmt,...)
Definition: debug.h:110
unsigned long DWORD
Definition: ntddk_ex.h:95
#define REG_SZ
Definition: layer.c:22
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define REG_MULTI_SZ
Definition: nt_native.h:1501
#define DWORD
Definition: nt_native.h:44
unsigned short USHORT
Definition: pedump.c:61
#define REG_DWORD
Definition: sdbapi.c:596
#define TRACE(s)
Definition: solgame.cpp:4
DWORD StateFlags
Definition: pdevobj.h:66
uint32_t ULONG
Definition: typedefs.h:59
PGRAPHICS_DEVICE NTAPI EngpRegisterGraphicsDevice(_In_ PUNICODE_STRING pustrDeviceName, _In_ PUNICODE_STRING pustrDiplayDrivers, _In_ PUNICODE_STRING pustrDescription)
Definition: device.c:497
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3556
#define DISPLAY_DEVICE_VGA_COMPATIBLE
Definition: wingdi.h:1400
#define RegOpenKey
Definition: winreg.h:519
#define RegQueryValue
Definition: winreg.h:523
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by EngpUpdateGraphicsDeviceList().

◆ UserEnterExclusive()

VOID FASTCALL UserEnterExclusive ( VOID  )

Definition at line 245 of file ntuser.c.

246{
251}
#define ExAcquireResourceExclusiveLite(res, wait)
Definition: env_spec_w32.h:615
#define ASSERT_NOGDILOCKS()
Definition: gdidebug.h:10
#define KeEnterCriticalRegion()
Definition: ke_x.h:88
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
Definition: thread.c:805
PTHREADINFO gptiCurrent
Definition: ntuser.c:15

Referenced by _Success_(), co_IntGetPeekMessage(), DesktopThreadMain(), DriverEntry(), EngCreateWnd(), EngDeleteWnd(), IntDesktopObjectClose(), IntDesktopObjectOpen(), NtGdiSetPixelFormat(), NtGdiSwapBuffers(), NtGdiUpdateColors(), NtUserActivateKeyboardLayout(), NtUserAlterWindowStyle(), NtUserAssociateInputContext(), NtUserAttachThreadInput(), NtUserBeginPaint(), NtUserBitBltSysBmp(), NtUserBlockInput(), NtUserBuildHimcList(), NtUserBuildHwndList(), NtUserCalcMenuBar(), NtUserCallHwnd(), NtUserCallHwndLock(), NtUserCallHwndParam(), NtUserCallHwndParamLock(), NtUserCallMsgFilter(), NtUserCallNextHookEx(), NtUserCallNoParam(), NtUserCallOneParam(), NtUserCallTwoParam(), NtUserChangeClipboardChain(), NtUserChangeDisplaySettings(), NtUserCheckImeHotKey(), NtUserCheckMenuItem(), NtUserChildWindowFromPointEx(), NtUserClipCursor(), NtUserCloseClipboard(), NtUserCloseDesktop(), NtUserConsoleControl(), NtUserConvertMemHandle(), NtUserCreateAcceleratorTable(), NtUserCreateCaret(), NtUserCreateDesktop(), NtUserCreateInputContext(), NtUserCreateWindowEx(), NtUserCreateWindowStation(), NtUserDeferWindowPos(), NtUserDefSetText(), NtUserDeleteMenu(), NtUserDestroyAcceleratorTable(), NtUserDestroyCursor(), NtUserDestroyInputContext(), NtUserDestroyMenu(), NtUserDestroyWindow(), NtUserDisableThreadIme(), NtUserDispatchMessage(), NtUserDragDetect(), NtUserDrawCaptionTemp(), NtUserDrawIconEx(), NtUserDrawMenuBarTemp(), NtUserEmptyClipboard(), NtUserEnableMenuItem(), NtUserEnableScrollBar(), NtUserEndDeferWindowPosEx(), NtUserEndMenu(), NtUserEndPaint(), NtUserExcludeUpdateRgn(), NtUserFillWindow(), NtUserFlashWindowEx(), NtUserGetAncestor(), NtUserGetAsyncKeyState(), NtUserGetClassInfo(), NtUserGetControlBrush(), NtUserGetControlColor(), NtUserGetCPD(), NtUserGetDCEx(), NtUserGetForegroundWindow(), NtUserGetImeHotKey(), NtUserGetLayeredWindowAttributes(), NtUserGetMessage(), NtUserGetScrollBarInfo(), NtUserGetSystemMenu(), NtUserGetThreadDesktop(), NtUserGetThreadState(), NtUserGetTitleBarInfo(), NtUserGetUpdateRect(), NtUserGetUpdateRgn(), NtUserGetWOWClass(), NtUserHideCaret(), NtUserHiliteMenuItem(), NtUserInitialize(), NtUserInitializeClientPfnArrays(), NtUserKillTimer(), NtUserLoadKeyboardLayoutEx(), NtUserLockWorkStation(), NtUserMenuItemFromPoint(), NtUserMessageCall(), NtUserMinMaximize(), NtUserNotifyIMEStatus(), NtUserNotifyWinEvent(), NtUserOpenClipboard(), NtUserOpenInputDesktop(), NtUserPaintDesktop(), NtUserPaintMenuBar(), NtUserPeekMessage(), NtUserPostMessage(), NtUserPostThreadMessage(), NtUserPrintWindow(), NtUserQueryInformationThread(), NtUserQueryInputContext(), NtUserRedrawWindow(), NtUserRegisterClassExWOW(), NtUserRegisterHotKey(), NtUserRegisterUserApiHook(), NtUserRegisterWindowMessage(), NtUserRemoveMenu(), NtUserRemoveProp(), NtUserResolveDesktop(), NtUserScrollDC(), NtUserScrollWindowEx(), NtUserSelectPalette(), NtUserSendInput(), NtUserSetActiveWindow(), NtUserSetAppImeLevel(), NtUserSetCapture(), NtUserSetClassLong(), NtUserSetClipboardData(), NtUserSetClipboardViewer(), NtUserSetCursor(), NtUserSetCursorIconData(), NtUserSetFocus(), NtUserSetImeHotKey(), NtUserSetImeInfoEx(), NtUserSetImeOwnerWindow(), NtUserSetInformationThread(), NtUserSetInternalWindowPos(), NtUserSetKeyboardState(), NtUserSetLayeredWindowAttributes(), NtUserSetMenu(), NtUserSetMenuContextHelpId(), NtUserSetMenuDefaultItem(), NtUserSetMenuFlagRtoL(), NtUserSetParent(), NtUserSetProcessWindowStation(), NtUserSetProp(), NtUserSetScrollBarInfo(), NtUserSetScrollInfo(), NtUserSetShellWindowEx(), NtUserSetSysColors(), NtUserSetSystemCursor(), NtUserSetSystemMenu(), NtUserSetSystemTimer(), NtUserSetThreadDesktop(), NtUserSetThreadLayoutHandles(), NtUserSetThreadState(), NtUserSetTimer(), NtUserSetWindowFNID(), NtUserSetWindowLong(), NtUserSetWindowPlacement(), NtUserSetWindowPos(), NtUserSetWindowRgn(), NtUserSetWindowsHookEx(), NtUserSetWindowStationUser(), NtUserSetWindowWord(), NtUserSetWinEventHook(), NtUserShowCaret(), NtUserShowScrollBar(), NtUserShowWindow(), NtUserShowWindowAsync(), NtUserSwitchDesktop(), NtUserSystemParametersInfo(), NtUserThunkedMenuInfo(), NtUserThunkedMenuItemInfo(), NtUserToUnicodeEx(), NtUserTrackMouseEvent(), NtUserTrackPopupMenuEx(), NtUserTranslateMessage(), NtUserUnhookWindowsHookEx(), NtUserUnhookWinEvent(), NtUserUnloadKeyboardLayout(), NtUserUnregisterClass(), NtUserUnregisterHotKey(), NtUserUnregisterUserApiHook(), NtUserUpdateInputContext(), NtUserUpdateLayeredWindow(), NtUserUpdatePerUserSystemParameters(), NtUserValidateHandleSecure(), NtUserWaitForInputIdle(), NtUserWaitMessage(), NtUserWindowFromPoint(), RawInputThreadMain(), UserGetDesktopDC(), UserGhostThreadEntry(), Win32kProcessCallback(), and Win32kThreadCallback().

◆ UserEnterShared()

VOID FASTCALL UserEnterShared ( VOID  )

Definition at line 238 of file ntuser.c.

239{
242}
#define ExAcquireResourceSharedLite(res, wait)
Definition: env_spec_w32.h:621

Referenced by NtUserBuildPropList(), NtUserCallHwnd(), NtUserCopyAcceleratorTable(), NtUserCountClipboardFormats(), NtUserCreateLocalMemHandle(), NtUserEnumDisplayDevices(), NtUserEnumDisplayMonitors(), NtUserEnumDisplaySettings(), NtUserFindExistingCursorIcon(), NtUserFindWindowEx(), NtUserGetAppImeLevel(), NtUserGetCaretBlinkTime(), NtUserGetCaretPos(), NtUserGetClassName(), NtUserGetClipboardData(), NtUserGetClipboardFormatName(), NtUserGetClipboardOwner(), NtUserGetClipboardSequenceNumber(), NtUserGetClipboardViewer(), NtUserGetClipCursor(), NtUserGetComboBoxInfo(), NtUserGetCursorFrameInfo(), NtUserGetCursorInfo(), NtUserGetDoubleClickTime(), NtUserGetGuiResources(), NtUserGetGUIThreadInfo(), NtUserGetIconSize(), NtUserGetImeInfoEx(), NtUserGetInternalWindowPos(), NtUserGetKeyboardLayoutList(), NtUserGetKeyboardLayoutName(), NtUserGetKeyboardState(), NtUserGetKeyNameText(), NtUserGetKeyState(), NtUserGetListBoxInfo(), NtUserGetMenuBarInfo(), NtUserGetMenuIndex(), NtUserGetMenuItemRect(), NtUserGetMonitorInfo(), NtUserGetMouseMovePointsEx(), NtUserGetOpenClipboardWindow(), NtUserGetPriorityClipboardFormat(), NtUserGetThreadState(), NtUserGetWindowPlacement(), NtUserInternalGetWindowText(), NtUserIsClipboardFormatAvailable(), NtUserMapVirtualKeyEx(), NtUserMonitorFromPoint(), NtUserMonitorFromRect(), NtUserMonitorFromWindow(), NtUserProcessConnect(), NtUserQueryWindow(), NtUserRealChildWindowFromPoint(), NtUserSBGetParms(), NtUserTranslateAccelerator(), NtUserValidateTimerCallback(), NtUserVkKeyScanEx(), and UserSystemThreadProc().

◆ UserGetLanguageToggle()

DWORD FASTCALL UserGetLanguageToggle ( VOID  )

Definition at line 81 of file misc.c.

82{
84 DWORD dwValue = 0;
85
86 Status = RegReadUserSetting(L"Keyboard Layout\\Toggle", L"Layout Hotkey", REG_SZ, &dwValue, sizeof(dwValue));
87 if (NT_SUCCESS(Status))
88 {
89 dwValue = atoi((char *)&dwValue);
90 TRACE("Layout Hotkey %d\n",dwValue);
91 }
92 return dwValue;
93}
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)

Referenced by SpiGetSet(), and SpiUpdatePerUserSystemParameters().

◆ UserIsEntered()

BOOL FASTCALL UserIsEntered ( VOID  )

Definition at line 221 of file ntuser.c.

222{
225}
BOOLEAN NTAPI ExIsResourceAcquiredExclusiveLite(IN PERESOURCE Resource)
Definition: resource.c:1619
ULONG NTAPI ExIsResourceAcquiredSharedLite(IN PERESOURCE Resource)
Definition: resource.c:1658

Referenced by IntGetProp(), NtGdiUpdateColors(), UserGetProp(), and UserLeave().

◆ UserIsEnteredExclusive()

◆ UserLeave()

VOID FASTCALL UserLeave ( VOID  )

Definition at line 254 of file ntuser.c.

255{
260}
#define KeLeaveCriticalRegion()
Definition: ke_x.h:119
#define ASSERT(a)
Definition: mode.c:44
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1817
BOOL FASTCALL UserIsEntered(VOID)
Definition: ntuser.c:221

Referenced by _Success_(), co_IntGetPeekMessage(), DesktopThreadMain(), DriverEntry(), EngCreateWnd(), EngDeleteWnd(), IntDesktopObjectClose(), IntDesktopObjectOpen(), NtGdiSetPixelFormat(), NtGdiSwapBuffers(), NtGdiUpdateColors(), NtUserActivateKeyboardLayout(), NtUserAlterWindowStyle(), NtUserAssociateInputContext(), NtUserAttachThreadInput(), NtUserBeginPaint(), NtUserBitBltSysBmp(), NtUserBlockInput(), NtUserBuildHimcList(), NtUserBuildHwndList(), NtUserBuildPropList(), NtUserCalcMenuBar(), NtUserCallHwnd(), NtUserCallHwndLock(), NtUserCallHwndParam(), NtUserCallHwndParamLock(), NtUserCallMsgFilter(), NtUserCallNextHookEx(), NtUserCallNoParam(), NtUserCallOneParam(), NtUserCallTwoParam(), NtUserChangeClipboardChain(), NtUserChangeDisplaySettings(), NtUserCheckImeHotKey(), NtUserCheckMenuItem(), NtUserChildWindowFromPointEx(), NtUserClipCursor(), NtUserCloseClipboard(), NtUserCloseDesktop(), NtUserConsoleControl(), NtUserConvertMemHandle(), NtUserCopyAcceleratorTable(), NtUserCountClipboardFormats(), NtUserCreateAcceleratorTable(), NtUserCreateCaret(), NtUserCreateDesktop(), NtUserCreateInputContext(), NtUserCreateLocalMemHandle(), NtUserCreateWindowEx(), NtUserCreateWindowStation(), NtUserDeferWindowPos(), NtUserDefSetText(), NtUserDeleteMenu(), NtUserDestroyAcceleratorTable(), NtUserDestroyCursor(), NtUserDestroyInputContext(), NtUserDestroyMenu(), NtUserDestroyWindow(), NtUserDisableThreadIme(), NtUserDispatchMessage(), NtUserDragDetect(), NtUserDrawCaptionTemp(), NtUserDrawIconEx(), NtUserDrawMenuBarTemp(), NtUserEmptyClipboard(), NtUserEnableMenuItem(), NtUserEnableScrollBar(), NtUserEndDeferWindowPosEx(), NtUserEndMenu(), NtUserEndPaint(), NtUserEnumDisplayDevices(), NtUserEnumDisplayMonitors(), NtUserEnumDisplaySettings(), NtUserExcludeUpdateRgn(), NtUserFillWindow(), NtUserFindExistingCursorIcon(), NtUserFindWindowEx(), NtUserFlashWindowEx(), NtUserGetAncestor(), NtUserGetAppImeLevel(), NtUserGetAsyncKeyState(), NtUserGetCaretBlinkTime(), NtUserGetCaretPos(), NtUserGetClassInfo(), NtUserGetClassName(), NtUserGetClipboardData(), NtUserGetClipboardFormatName(), NtUserGetClipboardOwner(), NtUserGetClipboardSequenceNumber(), NtUserGetClipboardViewer(), NtUserGetClipCursor(), NtUserGetComboBoxInfo(), NtUserGetControlBrush(), NtUserGetControlColor(), NtUserGetCPD(), NtUserGetCursorFrameInfo(), NtUserGetCursorInfo(), NtUserGetDCEx(), NtUserGetDoubleClickTime(), NtUserGetForegroundWindow(), NtUserGetGuiResources(), NtUserGetGUIThreadInfo(), NtUserGetIconSize(), NtUserGetImeHotKey(), NtUserGetImeInfoEx(), NtUserGetInternalWindowPos(), NtUserGetKeyboardLayoutList(), NtUserGetKeyboardLayoutName(), NtUserGetKeyboardState(), NtUserGetKeyNameText(), NtUserGetKeyState(), NtUserGetLayeredWindowAttributes(), NtUserGetListBoxInfo(), NtUserGetMenuBarInfo(), NtUserGetMenuIndex(), NtUserGetMenuItemRect(), NtUserGetMessage(), NtUserGetMonitorInfo(), NtUserGetMouseMovePointsEx(), NtUserGetOpenClipboardWindow(), NtUserGetPriorityClipboardFormat(), NtUserGetScrollBarInfo(), NtUserGetSystemMenu(), NtUserGetThreadDesktop(), NtUserGetThreadState(), NtUserGetTitleBarInfo(), NtUserGetUpdateRect(), NtUserGetUpdateRgn(), NtUserGetWindowPlacement(), NtUserGetWOWClass(), NtUserHideCaret(), NtUserHiliteMenuItem(), NtUserInitialize(), NtUserInitializeClientPfnArrays(), NtUserInternalGetWindowText(), NtUserIsClipboardFormatAvailable(), NtUserKillTimer(), NtUserLoadKeyboardLayoutEx(), NtUserLockWorkStation(), NtUserMapVirtualKeyEx(), NtUserMenuItemFromPoint(), NtUserMessageCall(), NtUserMinMaximize(), NtUserMonitorFromPoint(), NtUserMonitorFromRect(), NtUserMonitorFromWindow(), NtUserNotifyIMEStatus(), NtUserNotifyWinEvent(), NtUserOpenClipboard(), NtUserOpenInputDesktop(), NtUserPaintDesktop(), NtUserPaintMenuBar(), NtUserPeekMessage(), NtUserPostMessage(), NtUserPostThreadMessage(), NtUserPrintWindow(), NtUserProcessConnect(), NtUserQueryInformationThread(), NtUserQueryInputContext(), NtUserQueryWindow(), NtUserRealChildWindowFromPoint(), NtUserRedrawWindow(), NtUserRegisterClassExWOW(), NtUserRegisterHotKey(), NtUserRegisterUserApiHook(), NtUserRegisterWindowMessage(), NtUserRemoveMenu(), NtUserRemoveProp(), NtUserResolveDesktop(), NtUserSBGetParms(), NtUserScrollDC(), NtUserScrollWindowEx(), NtUserSelectPalette(), NtUserSendInput(), NtUserSetActiveWindow(), NtUserSetAppImeLevel(), NtUserSetCapture(), NtUserSetClassLong(), NtUserSetClipboardData(), NtUserSetClipboardViewer(), NtUserSetCursor(), NtUserSetCursorIconData(), NtUserSetFocus(), NtUserSetImeHotKey(), NtUserSetImeInfoEx(), NtUserSetImeOwnerWindow(), NtUserSetInformationThread(), NtUserSetInternalWindowPos(), NtUserSetKeyboardState(), NtUserSetLayeredWindowAttributes(), NtUserSetMenu(), NtUserSetMenuContextHelpId(), NtUserSetMenuDefaultItem(), NtUserSetMenuFlagRtoL(), NtUserSetParent(), NtUserSetProcessWindowStation(), NtUserSetProp(), NtUserSetScrollBarInfo(), NtUserSetScrollInfo(), NtUserSetShellWindowEx(), NtUserSetSysColors(), NtUserSetSystemCursor(), NtUserSetSystemMenu(), NtUserSetSystemTimer(), NtUserSetThreadDesktop(), NtUserSetThreadLayoutHandles(), NtUserSetThreadState(), NtUserSetTimer(), NtUserSetWindowFNID(), NtUserSetWindowLong(), NtUserSetWindowPlacement(), NtUserSetWindowPos(), NtUserSetWindowRgn(), NtUserSetWindowsHookEx(), NtUserSetWindowStationUser(), NtUserSetWindowWord(), NtUserSetWinEventHook(), NtUserShowCaret(), NtUserShowScrollBar(), NtUserShowWindow(), NtUserShowWindowAsync(), NtUserSwitchDesktop(), NtUserSystemParametersInfo(), NtUserThunkedMenuInfo(), NtUserThunkedMenuItemInfo(), NtUserToUnicodeEx(), NtUserTrackMouseEvent(), NtUserTrackPopupMenuEx(), NtUserTranslateAccelerator(), NtUserTranslateMessage(), NtUserUnhookWindowsHookEx(), NtUserUnhookWinEvent(), NtUserUnloadKeyboardLayout(), NtUserUnregisterClass(), NtUserUnregisterHotKey(), NtUserUnregisterUserApiHook(), NtUserUpdateInputContext(), NtUserUpdateLayeredWindow(), NtUserUpdatePerUserSystemParameters(), NtUserValidateHandleSecure(), NtUserValidateTimerCallback(), NtUserVkKeyScanEx(), NtUserWaitForInputIdle(), NtUserWaitMessage(), NtUserWindowFromPoint(), RawInputThreadMain(), UserGetDesktopDC(), UserGhostThreadEntry(), UserSystemThreadProc(), Win32kProcessCallback(), and Win32kThreadCallback().

Variable Documentation

◆ AtomDDETrack

ATOM AtomDDETrack
extern

Definition at line 23 of file ntuser.c.

Referenced by InitUserAtoms(), IntDdeGetMessageHook(), and IntDdeSendMessageHook().

◆ AtomImeLevel

ATOM AtomImeLevel
extern

Definition at line 28 of file ntuser.c.

Referenced by InitUserAtoms(), NtUserGetAppImeLevel(), and NtUserSetAppImeLevel().

◆ AtomQOS

ATOM AtomQOS
extern

Definition at line 24 of file ntuser.c.

Referenced by InitUserAtoms().

◆ cjDataSize

Definition at line 50 of file ntuser.h.

Referenced by IntSynthesizeDib().

◆ g_AlwaysDisplayVersion

BOOL g_AlwaysDisplayVersion
extern

Definition at line 17 of file ntuser.c.

Referenced by InitUserImpl(), and IntPaintDesktop().

◆ gaGuiConsoleWndClass

ATOM gaGuiConsoleWndClass
extern

◆ gppiInputProvider

◆ gppiList

PPROCESSINFO gppiList
extern

Definition at line 31 of file main.c.

Referenced by ExitProcessCallback(), and InitProcessCallback().

◆ gpsi

PSERVERINFO gpsi
extern

Definition at line 18 of file imm.c.

◆ gptiCurrent

◆ ppiScrnSaver

PPROCESSINFO ppiScrnSaver
extern

◆ pvData

Definition at line 49 of file ntuser.h.

◆ pwszValueName

◆ ulType

◆ UserLock