#include "precomp.h"
Go to the source code of this file.
Classes | |
struct | _DESKTOP_CONTEXT |
Defines | |
#define | OBJECTS_COUNT 4 |
Typedefs | |
typedef _DESKTOP_CONTEXT | DESKTOP_CONTEXT |
typedef _DESKTOP_CONTEXT * | PDESKTOP_CONTEXT |
Functions | |
VOID | FreeView (PEPROCESS Process, PDESKTOP pdesk) |
PVOID | DesktopAlloc (PDESKTOP pdesk, UINT uSize, DWORD tag) |
VOID | xxxDesktopThread (PTERMINAL pTerm) |
VOID | xxxRealizeDesktop (PWND pwnd) |
LRESULT | xxxDesktopWndProc (PWND pwnd, UINT message, WPARAM wParam, LPARAM lParam) |
BOOL | xxxSetDeskPattern (PUNICODE_STRING pProfileUserName, LPWSTR lpszPattern, BOOL fCreation) |
VOID | RecolorDeskPattern (VOID) |
NTSTATUS | xxxCreateDesktop2 (PWINDOWSTATION pwinsta, PACCESS_STATE pAccessState, KPROCESSOR_MODE AccessMode, PUNICODE_STRING pstrName, PDESKTOP_CONTEXT Context, PVOID *pObject) |
BOOL | xxxCreateDisconnectDesktop (HWINSTA hwinsta, PWINDOWSTATION pwinsta) |
VOID | CleanupDirtyDesktops (VOID) |
HDESK | xxxCreateDesktop (POBJECT_ATTRIBUTES ccxObjectAttributes, KPROCESSOR_MODE ProbeMode, PUNICODE_STRING ccxpstrDevice, LPDEVMODE ccxlpdevmode, DWORD dwFlags, DWORD dwDesiredAccess) |
NTSTATUS | ParseDesktop (PVOID pContainerObject, POBJECT_TYPE pObjectType, PACCESS_STATE pAccessState, KPROCESSOR_MODE AccessMode, ULONG Attributes, PUNICODE_STRING pstrCompleteName, PUNICODE_STRING pstrRemainingName, PVOID Context, PSECURITY_QUALITY_OF_SERVICE pqos, PVOID *pObject) |
BOOL | DestroyDesktop (PDESKTOP pdesk) |
VOID | FreeDesktop (PVOID pobj) |
HANDLE | CreateDesktopHeap (PWIN32HEAP *ppheapRet, ULONG ulHeapSize) |
PDESKTOPVIEW | GetDesktopView (PPROCESSINFO ppi, PDESKTOP pdesk) |
PVOID | _MapDesktopObject (HANDLE h) |
VOID | MapDesktop (OB_OPEN_REASON OpenReason, PEPROCESS Process, PVOID pobj, ACCESS_MASK amGranted, ULONG cHandles) |
VOID | UnmapDesktop (PEPROCESS Process, PVOID pobj, ACCESS_MASK amGranted, ULONG cProcessHandles, ULONG cSystemHandles) |
BOOLEAN | OkayToCloseDesktop (PEPROCESS Process OPTIONAL, PVOID Object, HANDLE Handle) |
VOID | xxxUserResetDisplayDevice () |
BOOL | OpenDesktopCompletion (PDESKTOP pdesk, HDESK hdesk, DWORD dwFlags, BOOL *pbShutDown) |
HDESK | xxxOpenDesktop (POBJECT_ATTRIBUTES ccxObjA, KPROCESSOR_MODE AccessMode, DWORD dwFlags, DWORD dwDesiredAccess, BOOL *pbShutDown) |
BOOL | xxxSwitchDesktop (PWINDOWSTATION pwinsta, PDESKTOP pdesk, BOOL bCreateNew) |
VOID | zzzSetDesktop (PTHREADINFO pti, PDESKTOP pdesk, HDESK hdesk) |
BOOL | xxxSetThreadDesktop (HDESK hdesk, PDESKTOP pdesk) |
NTSTATUS | xxxUserDuplicateObject (IN HANDLE SourceProcessHandle, IN HANDLE SourceHandle, IN HANDLE TargetProcessHandle OPTIONAL, OUT PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options) |
BOOLEAN | xxxUserFindHandleForObject (IN PEPROCESS Process, IN PVOID Object OPTIONAL, IN POBJECT_TYPE ObjectType OPTIONAL, IN POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL, OUT PHANDLE Handle) |
HDESK | xxxGetThreadDesktop (DWORD dwThread, HDESK hdeskConsole, KPROCESSOR_MODE AccessMode) |
HDESK | xxxGetInputDesktop (VOID) |
BOOL | xxxCloseDesktop (HDESK hdesk, KPROCESSOR_MODE AccessMode) |
VOID | TerminateConsole (PDESKTOP pdesk) |
BOOL | CheckHandleFlag (HANDLE hObject, DWORD dwFlag) |
BOOL | SetHandleFlag (HANDLE hObject, DWORD dwFlag, BOOL fSet) |
BOOL | CheckHandleInUse (HANDLE hObject) |
VOID | SetHandleInUse (HANDLE hObject) |
NTSTATUS | xxxResolveDesktopForWOW (IN OUT PUNICODE_STRING pstrDesktop) |
HDESK | xxxResolveDesktop (HANDLE hProcess, PUNICODE_STRING pstrDesktop, HWINSTA *phwinsta, BOOL fInherit, BOOL *pbShutDown) |
Variables | |
BOOL | fGdiEnabled |
PEPROCESS | gProcessInUse |
HANDLE | gHandleInUse |
|
Definition at line 112 of file desktop.c. Referenced by xxxDesktopThread(). |
|
|
|
|
|
Definition at line 2798 of file desktop.c. References GetDesktopView(), HMObjectFlags, HMValidateHandle(), NULL, OCF_DESKTOPHEAP, PBYTE, PDESKOBJHEAD, PpiCurrent, TYPE_GENERIC, and tagDESKTOPVIEW::ulClientDelta.
|
|
Definition at line 4464 of file desktop.c. References tagPROCESSINFO::bmHandleFlags, BOOL, EnterHandleFlagsCrit(), FALSE, HF_LIMIT, Index, LeaveHandleFlagsCrit(), NULL, PEXHANDLE, and PpiCurrent. Referenced by _GetUserObjectInformation(), OkayToCloseDesktop(), OkayToCloseWindowStation(), and zzzSetDesktop().
|
|
Definition at line 4557 of file desktop.c. References BOOL, EnterHandleFlagsCrit(), gHandleInUse, gProcessInUse, LeaveHandleFlagsCrit(), and PsGetCurrentProcess. Referenced by OkayToCloseDesktop(), and OkayToCloseWindowStation().
|
|
Definition at line 1761 of file desktop.c. References CheckCritIn, DF_DESKCREATED, grpdeskLogon, grpWinStaList, tagWND::head, LockDesktop, NULL, tagWINDOWSTATION::pTerm, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagWINDOWSTATION::rpwinstaNext, tagTERMINAL::spwndDesktopOwner, UnlockDesktop, and VOID(). Referenced by xxxCreateDesktop().
|
|
Definition at line 2696 of file desktop.c. References Error, NT_SUCCESS, NTSTATUS(), NULL, Status, UserCommitDesktopMemory(), and UserCreateHeap(). Referenced by xxxCreateDesktop2().
|
|
Definition at line 47 of file desktop.c. References DF_DESTROYED, tagDESKTOP::dwDTFlags, NULL, and tagDESKTOP::pheapDesktop. Referenced by _InitPwSB(), CreateProp(), DefSetText(), HMAllocObject(), xxxCreateDefaultImeWindow(), xxxCreateDesktop2(), xxxInsertMenuItem(), xxxRemoveDeleteMenuHelper(), and xxxSetLPITEMInfo().
|
|
Definition at line 2478 of file desktop.c. References BOOL, DF_DESTROYED, tagDESKTOP::dwDTFlags, EVENT_INCREMENT, FALSE, KeSetEvent(), LockDesktop, NULL, tagWINDOWSTATION::pTerm, tagTERMINAL::rpdeskDestroy, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagDESKTOP::rpwinstaParent, TRACE_DESKTOP, TRUE, and UnlockDesktop. Referenced by UnmapDesktop().
|
|
Definition at line 2535 of file desktop.c. References tagSHAREDINFO::aheList, BOOL, _HANDLEENTRY::bType, DbgPrint, DbgTrackRemoveDesktop, DF_DESKWNDDESTROYED, DF_DYING, tagDESKTOP::dwDTFlags, ExDesktopObjectType, FALSE, FreeView(), giheLast, gpepCSRSS, gSharedInfo, tagDESKTOP::hsectionDesktop, NT_SUCCESS, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, tagCLS::pclsClone, tagCLS::pclsNext, tagPROCESSINFO::pclsPrivateList, tagPROCESSINFO::pclsPublicList, tagDESKTOP::pDeskInfo, _HANDLEENTRY::phead, tagDESKTOP::pheapDesktop, tagPROCESSINFO::ppiNext, tagDESKTOP::rpwinstaParent, tagDESKTOPINFO::spwnd, Status, TRUE, TYPE_CALLPROC, TYPE_HOOK, TYPE_MENU, TYPE_WINDOW, UnlockWinSta, and VOID(). Referenced by Win32UserInitialize().
|
|
Definition at line 2949 of file desktop.c. References GetDesktopView(), MmUnmapViewOfSection(), NT_SUCCESS, NTSTATUS(), NULL, PBYTE, tagPROCESSINFO::pdvList, tagDESKTOPVIEW::pdvNext, tagDESKTOP::pheapDesktop, PpiFromProcess, tagPROCESSINFO::ptiList, tagTHREADINFO::ptiSibling, tagTHREADINFO::rpdesk, Status, tagDESKTOPVIEW::ulClientDelta, and VOID(). Referenced by FreeDesktop(), and UnmapDesktop().
|
|
Definition at line 2773 of file desktop.c. References gpepCSRSS, NULL, tagDESKTOPVIEW::pdesk, tagPROCESSINFO::pdvList, and tagDESKTOPVIEW::pdvNext. Referenced by _MapDesktopObject(), FreeView(), MapDesktop(), NtUserPostThreadMessage(), OpenDesktopCompletion(), UserCommitDesktopMemory(), ValidateHwnd(), xxxCreateDesktop(), xxxResolveDesktop(), xxxSetThreadDesktop(), and zzzSetDesktop().
|
|
Definition at line 2836 of file desktop.c. References BOOL, ExDesktopObjectType, ExRaiseStatus(), FALSE, GetDesktopView(), tagDESKTOP::hsectionDesktop, MmMapViewOfSection(), NT_SUCCESS, NTSTATUS(), NULL, OB_OPEN_REASON, ObInheritHandle, OBJECT_TO_OBJECT_HEADER, PBYTE, tagPROCESSINFO::pdvList, tagDESKTOP::pheapDesktop, PpiFromProcess, Status, TRUE, and VOID(). Referenced by Win32UserInitialize().
|
|
Definition at line 3089 of file desktop.c. References CheckHandleFlag(), CheckHandleInUse(), DF_DESKCREATED, tagDESKTOP::dwDTFlags, ExDesktopObjectType, FALSE, Handle, HF_PROTECTED, KernelMode, OBJECT_TO_OBJECT_HEADER, and TRUE. Referenced by Win32UserInitialize().
|
|
Definition at line 3192 of file desktop.c. References BOOL, dwFlags, tagWINDOWSTATION::dwWSF_Flags, FALSE, GetDesktopView(), GetProcessLuid(), gpidLogon, HF_DESKTOPHOOK, tagWINDOWSTATION::luidEndSession, NT_SUCCESS, NTSTATUS(), NULL, PpiCurrent, tagDESKTOP::rpwinstaParent, RtlEqualLuid(), SetHandleFlag(), Status, TRUE, WSF_OPENLOCK, and WSF_REALSHUTDOWN. Referenced by NtUserOpenInputDesktop(), and xxxOpenDesktop().
|
|
Definition at line 2391 of file desktop.c. References ExDesktopObjectType, ExWindowStationObjectType, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, ObReferenceObject, POBJECT_NAME, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, RtlEqualUnicodeString(), Status, and xxxCreateDesktop2().
|
|
Definition at line 1242 of file desktop.c. References BYTE, CXYDESKPATTERN, ghbmDesktop, ghdcMem, ghdcMem2, HDCBITS, NULL, SYSHBR, SYSMET, SYSRGB, and VOID().
|
|
Definition at line 4494 of file desktop.c. References tagPROCESSINFO::bmHandleFlags, BOOL, Buffer, EnterHandleFlagsCrit(), FALSE, HF_LIMIT, Index, LeaveHandleFlagsCrit(), NULL, PpiCurrent, RtlClearBits(), RtlInitializeBitMap(), RtlSetBits(), and TRUE. Referenced by _SetUserObjectInformation(), EnterHandleFlagsCrit(), NtUserOpenInputDesktop(), OpenDesktopCompletion(), xxxCloseDesktop(), xxxCreateDesktop(), xxxGetInputDesktop(), xxxGetThreadDesktop(), xxxOpenDesktop(), xxxSetProcessWindowStation(), and zzzSetDesktop().
|
|
Definition at line 4579 of file desktop.c. References EnterHandleFlagsCrit(), gHandleInUse, gProcessInUse, LeaveHandleFlagsCrit(), PsGetCurrentProcess, and VOID(). Referenced by NtUserGetObjectInformation(), and NtUserSetObjectInformation().
|
|
Definition at line 4420 of file desktop.c. References _PostThreadMessage(), tagDESKTOP::dwConsoleThreadId, LockThreadByClientId(), NT_SUCCESS, NTSTATUS(), NULL, PtiFromThread, Status, UnlockThread, and VOID(). Referenced by DestroyWindowStation(), and UnmapDesktop().
|
|
Definition at line 3017 of file desktop.c. References DestroyDesktop(), tagDESKTOP::dwConsoleThreadId, ExDesktopObjectType, FreeView(), gpepCSRSS, OBJECT_TO_OBJECT_HEADER, tagDESKTOP::PtiList, TerminateConsole(), and VOID(). Referenced by Win32UserInitialize().
|
|
Definition at line 4332 of file desktop.c. References BOOL, CloseProtectedHandle(), tagDESKTOP::dwSessionId, ExDesktopObjectType, FALSE, gpepCSRSS, gSessionId, tagTHREADINFO::hdesk, tagPROCESSINFO::hdeskStartup, HF_DESKTOPHOOK, LogDesktop, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PpiCurrent, PtiCurrent, tagPROCESSINFO::ptiList, tagTHREADINFO::ptiSibling, tagPROCESSINFO::rpdeskStartup, SetHandleFlag(), Status, TRUE, and UnlockDesktop. Referenced by NtUserCloseDesktop(), NtUserResolveDesktop(), xxxCreateDesktop(), and xxxCreateDisconnectDesktop().
|
|
Definition at line 1797 of file desktop.c. References BeginAtomicCheck, BOOL, CheckCritIn, CleanupDirtyDesktops(), CloseProtectedHandle(), DeferWinEventNotify, DESKTOPCLASS, DF_DESKCREATED, tagDESKTOP::dwDTFlags, _DESKTOP_CONTEXT::dwFlags, dwFlags, DWORD, tagTERMINAL::dwTERMF_Flags, tagWINDOWSTATION::dwWSF_Flags, EndAtomicCheck, EnterCrit, Error, EVENT_INCREMENT, ExDesktopObjectType, ExWindowStationObjectType, FALSE, tagDISPLAYINFO::fDesktopIsRect, fGdiEnabled, gatomMessage, gbRemoteSession, GetDesktopView(), gpepCSRSS, gpEventDiconnectDesktop, gptiRit, grpdeskLogon, grpdeskRitInput, gspdeskDisconnect, gspwndFullScreen, gTermIO, tagTHREADINFO::hdesk, HF_DESKTOPHOOK, HF_PROTECTED, HH_DISCONNECTDESKTOP, HMChangeOwnerThread(), hModuleWin, tagWND::hrgnClip, tagDISPLAYINFO::hrgnScreen, HYDRA_HINT, IsWinEventNotifyDeferredOK, KernelMode, KeSetEvent(), LeaveCrit, LinkWindow(), Lock, LogDesktop, _DESKTOP_CONTEXT::lpDevMode, MapDesktop(), MENUCLASS, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObOpenHandle, ObOpenObjectByName(), ObReferenceObjectByHandle(), tagDESKTOP::pDeskInfo, tagDESKTOP::pDispInfo, tagTERMINAL::pEventInputReady, tagTHREADINFO::ppi, PpiCurrent, PpiFromProcess, tagDESKTOPINFO::ppiShellProcess, _DESKTOP_CONTEXT::pstrDevice, tagWINDOWSTATION::pTerm, PtiCurrent, tagTERMINAL::ptiDesktop, tagTHREADINFO::pwinsta, PWND_BOTTOM, tagDISPLAYINFO::rcScreen, tagTHREADINFO::rpdesk, tagPROCESSINFO::rpdeskStartup, tagDESKTOP::rpwinstaParent, SetFullScreen, SetHandleFlag(), tagDESKTOPINFO::spwnd, tagTERMINAL::spwndDesktopOwner, tagDESKTOP::spwndMenu, tagDESKTOP::spwndMessage, tagWND::spwndOwner, tagWND::spwndParent, tagDESKTOP::spwndTooltip, Status, TERMF_NOIO, ThreadLock, ThreadLockWithPti, ThreadUnlock, TIF_DISABLEHOOKS, tagTHREADINFO::TIF_flags, TOOLTIPCLASS, TRACE_INIT, TRUE, Unlock, UnlockDesktop, UserSleep(), VER31, WSF_NOIO, xxxCloseDesktop(), xxxCreateDisconnectDesktop(), xxxCreateWindowEx(), xxxDestroyWindow(), xxxSetWindowPos(), xxxSwitchDesktop(), zzzEndDeferWinEventNotify, and zzzSetDesktop(). Referenced by NtUserCreateDesktop(), xxxConnectService(), and xxxCreateDisconnectDesktop().
|
|
Definition at line 1343 of file desktop.c. References BOOL, CheckCritIn, CopyRect, CreateDesktopHeap(), DbgTrackAddDesktop, DESKTOP, DesktopAlloc(), DesktopMapping, DISPLAYINFO, tagDISPLAYINFO::dmLogPixels, DTAG_DESKTOPINFO, tagDESKTOP::dwDesktopId, tagDESKTOP::dwSessionId, tagWINDOWSTATION::dwWSF_Flags, Error, ExDesktopObjectType, FALSE, gbRemoteSession, gdwDesktopId, gdwDesktopSectionSize, gdwNOIOSectionSize, GetProcessLuid(), gpDispInfo, gpidLogon, grpdeskLogon, gSessionId, gspdeskDisconnect, GW_DESKTOP_ID, tagDISPLAYINFO::hDev, tagWND::head, tagDESKTOP::hsectionDesktop, KernelMode, LockDesktop, LockWinSta, LogDesktop, _DESKTOP_CONTEXT::lpDevMode, tagWINDOWSTATION::luidEndSession, NT_SUCCESS, NTSTATUS(), NULL, ObAssignSecurity(), ObCheckCreateObjectAccess(), ObCreateObject(), ObDereferenceObject, OBJECT_TO_OBJECT_HEADER, ObjectAttributes, PBYTE, tagDESKTOP::pDeskInfo, tagDESKTOP::pDispInfo, tagDESKTOP::pheapDesktop, tagDISPLAYINFO::pmdev, tagDISPLAYINFO::pMonitorFirst, tagDISPLAYINFO::pMonitorPrimary, PsGetCurrentProcess, _DESKTOP_CONTEXT::pstrDevice, tagWINDOWSTATION::pTerm, tagDESKTOP::PtiList, tagDESKTOPINFO::pvDesktopBase, tagDESKTOPINFO::pvDesktopLimit, tagDESKTOPINFO::pvwplShellHook, tagDISPLAYINFO::rcScreen, _ACCESS_STATE::RemainingDesiredAccess, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagDESKTOP::rpwinstaParent, RtlEqualLuid(), RtlMapGenericMask(), tagTERMINAL::spwndDesktopOwner, Status, TRUE, _EPROCESS::UniqueProcessId, UserMode, WSF_NOIO, WSF_OPENLOCK, WSF_SHUTDOWN, and xxxUserResetDisplayDevice(). Referenced by ParseDesktop().
|
|
Definition at line 1654 of file desktop.c. References BOOL, CloseProtectedHandle(), CreateEmptyRgn(), FALSE, gbConnected, ghDisconnectDesk, ghDisconnectWinSta, gpepCSRSS, gspdeskDisconnect, KeAttachProcess(), KeDetachProcess(), KernelMode, LogDesktop, NT_SUCCESS, NTSTATUS(), NULL, ObOpenObjectByPointer(), ObReferenceObjectByHandle(), _EPROCESS::Pcb, tagDESKTOP::pDeskInfo, RtlInitUnicodeString(), SelectWindowRgn(), tagDESKTOPINFO::spwnd, Status, TRUE, xxxCloseDesktop(), and xxxCreateDesktop(). Referenced by xxxCreateDesktop().
|
|
Definition at line 114 of file desktop.c. References _DestroyMenu(), aDeviceTemplate, CheckCritIn, ClearWakeBit(), tagQ::cLockCount, CMSHUNGAPPTIMEOUT, CreateKernelEvent(), tagTHREADINFO::cWindows, DEVICE_TYPE_MOUSE, DF_DESKWNDDESTROYED, DF_DYING, DF_MOUSEMOVETRK, DF_TOOLTIPSHOWING, diStatic, tagDESKTOP::dwDTFlags, DWORD, tagTERMINAL::dwTERMF_Flags, tagWINDOWSTATION::dwWSF_Flags, EnterCrit, EVENT_INCREMENT, ExEventObjectType, FALSE, FHungApp(), FindNCHit(), FreeKernelEvent(), gbRemoteSession, GETPTI, glinp, gpDispInfo, gpEventHungThread, gpevtDesktopDestroyed, grpdeskLogon, grpdeskRitInput, grpWinStaList, gspdeskDisconnect, gspwndFullScreen, gspwndMouseOwner, gspwndShouldBeForeground, tagTHREADINFO::hdesk, tagDISPLAYINFO::hDev, HWq, InitSystemThread(), ISTS, IsWinEventNotifyDeferredOK, KernelMode, KeSetEvent(), KeWaitForSingleObject(), L, LeaveCrit, LockDesktop, msg, MSGWAITCALLBACK, NT_SUCCESS, NULL, ObDereferenceObject, OBJECTS_COUNT, ObReferenceObjectByPointer(), tagTHREADINFO::pDeskInfo, tagDESKTOP::pDeskInfo, tagDESKTOP::pDispInfo, tagTERMINAL::pEventDestroyDesktop, tagTERMINAL::pEventInputReady, tagTERMINAL::pEventTermInit, tagDEVICE_TEMPLATE::pkeHidChange, tagDISPLAYINFO::pmdev, PMENUWND, tagDISPLAYINFO::pMonitorFirst, PostShellHookMessages(), tagTHREADINFO::pq, tagTERMINAL::pqDesktop, ProcessDeviceChanges(), PsTerminateSystemThread(), PtiCurrentShared, tagTERMINAL::ptiDesktop, tagLASTINPUT::ptLastClick, tagTHREADINFO::pwinsta, RemoteDisableScreen(), tagTHREADINFO::rpdesk, tagTERMINAL::rpdeskDestroy, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagWINDOWSTATION::rpwinstaNext, tagDESKTOP::rpwinstaParent, RtlInitUnicodeString(), SetVisible(), tagDESKTOP::spmenuDialogSys, tagDESKTOP::spmenuHScroll, tagDESKTOP::spmenuSys, tagDESKTOP::spmenuVScroll, tagDESKTOPINFO::spwnd, tagDESKTOPINFO::spwndBkGnd, tagDESKTOP::spwndForeground, tagDESKTOP::spwndMenu, tagDESKTOP::spwndMessage, tagDESKTOPINFO::spwndProgman, tagDESKTOPINFO::spwndShell, tagDESKTOPINFO::spwndTaskman, tagDESKTOP::spwndTooltip, tagDESKTOP::spwndTrack, tagDESKTOP::spwndTray, SV_UNSET, TERMF_DTDESTROYED, TERMF_DTINITFAILED, TERMF_DTINITSUCCESS, TERMF_NOIO, TestWF, ThreadLockAlways, ThreadLockAlwaysWithPti, ThreadLockDesktop, ThreadLockWinSta, ThreadUnlock, ThreadUnlockDesktop, ThreadUnlockWinSta, TRACE_DESKTOP, TRUE, UINT, Unlock, UnlockDesktop, UnlockDesktopMenu(), UnlockDesktopSysMenu(), VOID(), WFVISIBLE, WrUserRequest, WSF_NOIO, WSF_SWITCHLOCK, xxxDestroyWindow(), xxxDispatchMessage(), xxxMinimizeHungWindow(), xxxMsgWaitForMultipleObjects(), xxxPeekMessage, xxxSetThreadDesktop(), xxxSetWindowPos(), xxxSwitchDesktop(), and zzzDestroyQueue(). Referenced by xxxInitTerminal().
|
|
Definition at line 883 of file desktop.c. References _GetDC(), _ReleaseDC(), CheckLock, CMSHUNGAPPTIMEOUT, CreateProfileUserName(), DTF_NEEDSPALETTECHANGED, tagDESKTOP::dwDTFlags, FALSE, FHungApp(), FNID_DESKTOP, FreeProfileUserName(), GETPTI, GetTopLevelWindow(), gpDispInfo, grpdeskRitInput, gspwndAltTab, tagDISPLAYINFO::hdcScreen, HWq, IsWinEventNotifyDeferredOK, L, NULL, tagDESKTOP::pDeskInfo, PsGetCurrentThread, PtiCurrent, PWND_BROADCAST, RevalidateHwnd, tagDESKTOPINFO::spwnd, tagWND::spwndParent, ThreadLockAlways, ThreadLockAlwaysWithPti, ThreadLockWithPti, ThreadUnlock, TRUE, VALIDATECLASSANDSIZE, xxxBeginPaint(), xxxDefWindowProc(), xxxEndPaint(), xxxInternalPaintDesktop(), xxxMakeWindowForegroundWithState(), xxxRealizeDesktop(), xxxRedrawWindow(), xxxSendMessage(), xxxSendNotifyMessage(), xxxSetDeskPattern(), xxxSetThreadDesktop(), and xxxSetWindowLong(). Referenced by InitFunctionTables(), InitializeClientPfnArrays(), and LW_RegisterWindows().
|
|
Definition at line 4309 of file desktop.c. References grpdeskRitInput, HF_PROTECTED, NULL, PsGetCurrentProcess, SetHandleFlag(), TRUE, and xxxUserFindHandleForObject().
|
|
Definition at line 4211 of file desktop.c. References ExDesktopObjectType, FALSE, gpepCSRSS, tagTHREADINFO::hdesk, HF_PROTECTED, KeAttachProcess(), KeDetachProcess(), LogDesktop, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), tagTHREADINFO::ppi, PpiCurrent, PpiFromProcess, PsGetCurrentProcess, PsGetCurrentThread, PtiCurrent, PtiFromThreadId(), SetHandleFlag(), Status, TRUE, and xxxUserFindHandleForObject(). Referenced by NtUserGetThreadDesktop().
|
|
Definition at line 3265 of file desktop.c. References CloseProtectedHandle(), dwFlags, tagDESKTOP::dwSessionId, Error, ExDesktopObjectType, FALSE, gSessionId, HF_PROTECTED, KernelMode, LogDesktop, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObOpenObjectByName(), ObReferenceObjectByHandle(), OpenDesktopCompletion(), PtiCurrent, SetHandleFlag(), Status, TRACE_INIT, and TRUE. Referenced by NtUserOpenDesktop(), xxxResolveDesktop(), and xxxResolveDesktopForWOW().
|
|
Definition at line 863 of file desktop.c. References _GetDC(), _ReleaseDC(), CheckLock, FALSE, FNID_DESKTOP, GETFNID, ghpalWallpaper, VOID(), and xxxInternalPaintDesktop(). Referenced by xxxBroadcastPaletteChanged(), and xxxDesktopWndProc().
|
|
Definition at line 4821 of file desktop.c. References _OpenWindowStation(), _UserTestForWinStaAccess(), BOOL, CheckCritIn, CloseProtectedHandle(), tagWINDOWSTATION::dwWSF_Flags, ExDesktopObjectType, ExWindowStationObjectType, FALSE, gbRemoteSession, gbSecureDesktop, GetDesktopView(), GetProcessLuid(), grpWinStaList, tagPROCESSINFO::hdeskStartup, tagPROCESSINFO::hwinsta, KernelMode, KPROCESSOR_MODE, L, LogDesktop, MapDesktop(), NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObOpenHandle, ObOpenObjectByPointer(), ObReferenceObjectByHandle(), PBYTE, PpiFromProcess, PsGetCurrentProcess, PsProcessType, PtiCurrent, tagPROCESSINFO::rpdeskStartup, tagPROCESSINFO::rpwinsta, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlCopyUnicodeString(), RtlInitUnicodeString(), Status, szWindowStationDirectory, TRUE, UserMode, USHORT, WSF_NOIO, xxxConnectService(), xxxOpenDesktop(), xxxUserDuplicateObject(), and xxxUserFindHandleForObject(). Referenced by NtUserResolveDesktop(), and xxxCreateThreadInfo().
|
|
Definition at line 4588 of file desktop.c. References _OpenWindowStation(), BOOL, CloseProtectedHandle(), FALSE, gbSecureDesktop, KernelMode, L, NT_SUCCESS, NTSTATUS(), NULL, PBYTE, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlCopyUnicodeString(), RtlInitUnicodeString(), Status, szWindowStationDirectory, TRUE, UserMode, USHORT, and xxxOpenDesktop(). Referenced by NtUserResolveDesktopForWOW().
|
|
Definition at line 1105 of file desktop.c. References BOOL, CheckCritIn, CXYDESKPATTERN, DESKTOP, FALSE, FastGetProfileStringFromIDW(), ghbmDesktop, hModuleWin, L, MAX_PATH, NULL, PMAP_DESKTOP, PWND_BROADCAST, RecolorDeskPattern(), ServerLoadString, SYSHBR, SYSRGB, TRUE, UINT, xxxRedrawScreen, and xxxSendNotifyMessage(). Referenced by xxxDesktopWndProc(), and xxxSystemParametersInfo().
|
|
Definition at line 4033 of file desktop.c. References AllocQueue(), BOOL, tagQ::cThreads, tagTHREADINFO::cWindows, FALSE, tagTHREADINFO::fsHooks, GetDesktopView(), gpepCSRSS, gpqForeground, GTERMF_MOUSE, tagTHREADINFO::iCursorLevel, tagQ::iCursorLevel, LockDesktop, MapDesktop(), NULL, ObOpenHandle, tagTHREADINFO::ppi, tagTHREADINFO::pq, PtiCurrent, tagTHREADINFO::rpdesk, tagPROCESSINFO::rpdeskStartup, tagQ::spwndActive, tagQ::spwndActivePrev, tagQ::spwndCapture, tagQ::spwndFocus, TEST_GTERMF, TRUE, xxxSetForegroundWindow2(), zzzAttachToQueue(), and zzzSetDesktop(). Referenced by NtUserSetThreadDesktop(), xxxDesktopThread(), xxxDesktopWndProc(), xxxNextWindow(), xxxRestoreCsrssThreadDesktop(), and xxxSetCsrssThreadDesktop().
|
|
Definition at line 3358 of file desktop.c. References tagQ::afKeyRecentDown, AllocQueue(), BOOL, CBKEYSTATERECENTDOWN, CheckCritIn, _ETHREAD::Cid, tagQ::cThreads, DF_DESKWNDDESTROYED, DF_DESTROYED, DF_DYING, DF_NEWDISPLAYSETTINGS, tagDESKTOP::dwDTFlags, DWORD, tagWINDOWSTATION::dwWSF_Flags, EVENT_INCREMENT, FALSE, FreeAllSpbs(), gbDesktopLocked, GetFullScreen, GETPTI, gHardErrorHandler, gpEventSwitchDesktop, gpidLogon, gpqCursor, gpqForeground, gpsi, gptiRit, grpdeskLogon, grpdeskRitInput, gspdeskDisconnect, gspdeskShouldBeForeground, gspwndAltTab, tagDISPLAYINFO::hDev, HMIsMarkDestroy, IPostQuitMessage(), IS_SYSTEM_THREAD, IsWinEventNotifyDeferredOK, KePulseEvent(), KernelMode, Lock, LockDesktop, NT_SUCCESS, NTSTATUS(), NULL, ObOpenObjectByPointer(), tagDESKTOP::pDeskInfo, tagDESKTOP::pDispInfo, tagDISPLAYINFO::pmdev, POBJECT_NAME, PostUpdateKeyStateEvent(), tagTHREADINFO::pq, tagTERMINAL::pqDesktop, PsGetCurrentThread, tagWINDOWSTATION::pTerm, tagHARDERRORHANDLER::pti, PtiCurrent, tagTERMINAL::ptiDesktop, tagDESKTOP::PtiList, tagQ::QF_flags, QF_KEYSTATERESET, QF_UPDATEKEYSTATE, tagTHREADINFO::rpdesk, tagDESKTOP::rpwinstaParent, SetFullScreen, SetPointer(), tagDESKTOPINFO::spwnd, tagQ::spwndActive, tagWND::spwndChild, tagDESKTOP::spwndForeground, tagWND::spwndNext, Status, TestWF, ThreadLockAlwaysWithPti, ThreadLockDesktopHandle, ThreadLockWithPti, ThreadUnlock, ThreadUnlockDesktopHandle, TRACE_DESKTOP, TRACE_INIT, TRUE, Unlock, WFVISIBLE, WSF_NOIO, WSF_SWITCHLOCK, xxxBroadcastDisplaySettingsChange(), xxxSendMessage(), xxxSetForegroundWindow2(), xxxSetWindowPos(), zzzAttachToQueue(), zzzCancelJournalling(), zzzInternalSetCursorPos(), and zzzSetDesktop(). Referenced by NtUserSwitchDesktop(), RawInputThread(), RemoteDisableScreen(), RemoteRedrawScreen(), xxxCreateDesktop(), xxxDesktopThread(), and xxxQueryInformationThread().
|
|
Definition at line 4137 of file desktop.c. References CheckCritIn, EnterCrit, LeaveCrit, NTSTATUS(), and Status.
|
|
Definition at line 4171 of file desktop.c. References BOOL, EnterCrit, EnterSharedCrit(), ExIsResourceAcquiredExclusiveLite(), ExIsResourceAcquiredSharedLite(), gpresUser, Handle, LeaveCrit, ObFindHandleForObject(), and POBJECT_HANDLE_INFORMATION. Referenced by xxxGetInputDesktop(), xxxGetThreadDesktop(), and xxxResolveDesktop().
|
|
Definition at line 3136 of file desktop.c. References BMSG_SENDNOTIFYMSG, gpqCursor, gpsi, grpdeskRitInput, NULL, tagDESKTOP::pDeskInfo, SetPointer(), tagDESKTOPINFO::spwnd, SYSMET, ThreadLock, ThreadUnlock, TRACE_INIT, TRUE, VOID(), xxxBroadcastMessage(), xxxRedrawWindow(), and zzzInternalSetCursorPos(). Referenced by NtUserEnumDisplayDevices(), VideoPortCalloutThread(), xxxCreateDesktop2(), xxxUserChangeDisplaySettings(), and xxxUserPowerEventCalloutWorker().
|
|
Definition at line 3823 of file desktop.c. References tagTHREADINFO::amdesk, CheckHandleFlag(), CLIENTTHREADINFO, tagQ::cThreads, tagTHREADINFO::cWindows, DesktopAllocAlways, DesktopFree, DF_DESKWNDDESTROYED, DF_DYING, diStatic, DTAG_CLIENTTHREADINFO, tagDESKTOP::dwConsoleThreadId, tagDESKTOP::dwDTFlags, tagDESKTOP::dwSessionId, ExDesktopObjectType, FALSE, GetDesktopView(), GetJournallingQueue(), _OBJECT_HANDLE_INFORMATION::GrantedAccess, gSessionId, GTERMF_MOUSE, tagTHREADINFO::hdesk, HF_DESKTOPHOOK, HF_PROTECTED, ISATOMICCHECK, KernelMode, LockDesktop, LogDesktop, NT_SUCCESS, NULL, ObDereferenceObject, OBJECT_HANDLE_INFORMATION, ObReferenceObjectByHandle(), PBYTE, tagTHREADINFO::pcti, tagDESKTOP::pDeskInfo, tagTHREADINFO::pq, PtiCurrent, tagTHREADINFO::PtiLink, tagDESKTOP::PtiList, tagTHREADINFO::rpdesk, SetHandleFlag(), TEST_GTERMF, ThreadLockDesktop, ThreadUnlockDesktop, TIDq, TIF_ALLOWOTHERACCOUNTHOOK, tagTHREADINFO::TIF_flags, TRUE, VOID(), and zzzAttachToQueue(). Referenced by xxxCreateDesktop(), xxxCreateThreadInfo(), xxxCreateWindowStation(), xxxSetThreadDesktop(), and xxxSwitchDesktop().
|
|
Definition at line 23 of file desktop.c. Referenced by FullScreenCleanup(), xxxCreateDesktop(), xxxMakeWindowForegroundWithState(), and xxxUserPowerStateCalloutWorker(). |
|
Definition at line 29 of file desktop.c. Referenced by CheckHandleInUse(), and SetHandleInUse(). |
|
Definition at line 28 of file desktop.c. Referenced by CheckHandleInUse(), and SetHandleInUse(). |