#include "precomp.h"
Go to the source code of this file.
Functions | |
NTSTATUS | xxxInitTerminal (PTERMINAL pTerm) |
NTSTATUS | CreateGlobalAtomTable (PVOID *ppAtomTable) |
HWINSTA | xxxCreateWindowStation (POBJECT_ATTRIBUTES ObjectAttributes, KPROCESSOR_MODE OwnershipMode, DWORD dwDesiredAccess, HANDLE hKbdLayoutFile, DWORD offTable, PCWSTR pwszKLID, UINT uKbdInputLocale) |
VOID | FreeWindowStation (PWINDOWSTATION pwinsta) |
VOID | DestroyWindowStation (PEPROCESS Process, PVOID pobj, ACCESS_MASK amGranted, ULONG cProcessHandles, ULONG cSystemHandles) |
NTSTATUS | ParseWindowStation (PVOID pContainerObject, POBJECT_TYPE pObjectType, PACCESS_STATE pAccessState, KPROCESSOR_MODE AccessMode, ULONG Attributes, PUNICODE_STRING pstrCompleteName, PUNICODE_STRING pstrRemainingName, PVOID Context OPTIONAL, PSECURITY_QUALITY_OF_SERVICE pqos, PVOID *pObject) |
BOOLEAN | OkayToCloseWindowStation (PEPROCESS Process OPTIONAL, PVOID Object, HANDLE Handle) |
HWINSTA | _OpenWindowStation (POBJECT_ATTRIBUTES pObjA, DWORD dwDesiredAccess, KPROCESSOR_MODE AccessMode) |
BOOL | _CloseWindowStation (HWINSTA hwinsta) |
BOOL | xxxSetProcessWindowStation (HWINSTA hwinsta, KPROCESSOR_MODE AccessMode) |
PWINDOWSTATION | _GetProcessWindowStation (HWINSTA *phwinsta) |
NTSTATUS | _BuildNameList (PWINDOWSTATION pwinsta, PNAMELIST ccxpNameList, UINT cbNameList, PUINT pcbNeeded) |
NTSTATUS | ReferenceWindowStation (PETHREAD Thread, HWINSTA hwinsta, ACCESS_MASK amDesiredAccess, PWINDOWSTATION *ppwinsta, BOOL fUseDesktop) |
UINT | _SetWindowStationUser (PWINDOWSTATION pwinsta, PLUID pluidUser, PSID ccxpsidUser, DWORD cbsidUser) |
BOOL | _LockWorkStation (VOID) |
Variables | |
CONST LPCWSTR | lpszStdFormats [] |
|
Definition at line 1264 of file winsta.c. References AccessCheckObject(), tagNAMELIST::awchNames, tagNAMELIST::cb, tagNAMELIST::cNames, DesktopMapping, DWORD, FALSE, grpWinStaList, KernelMode, _OBJECT_HEADER_NAME_INFO::Name, NTSTATUS(), NULL, OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, PBYTE, tagWINDOWSTATION::rpdeskList, Status, UINT, and WinStaMapping. Referenced by NtUserBuildNameList().
|
|
Definition at line 1055 of file winsta.c. References _GetProcessWindowStation(), BOOL, FALSE, and NT_SUCCESS. Referenced by NtUserCloseWindowStation(), and NtUserResolveDesktop().
|
|
Definition at line 1240 of file winsta.c. References tagPROCESSINFO::hwinsta, PpiCurrent, and tagPROCESSINFO::rpwinsta. Referenced by _CloseWindowStation(), NtUserActivateKeyboardLayout(), NtUserGetImeInfoEx(), NtUserGetKeyboardLayoutList(), NtUserGetProcessWindowStation(), NtUserLoadKeyboardLayoutEx(), NtUserOpenInputDesktop(), NtUserSetImeInfoEx(), NtUserUnloadKeyboardLayout(), ResetSharedDesktops(), xxxDefWindowProc(), xxxDestroyThreadInfo(), xxxDW_SendDestroyMessages(), and xxxFreeWindow().
|
|
Definition at line 1517 of file winsta.c. References _PostMessage(), BOOL, gspwndLogonNotify, NULL, and TRUE. Referenced by NtUserLockWorkStation().
|
|
Definition at line 1019 of file winsta.c. References ExWindowStationObjectType, NT_SUCCESS, NTSTATUS(), NULL, ObOpenObjectByName(), and Status. Referenced by _UserTestForWinStaAccess(), NtUserOpenWindowStation(), xxxResolveDesktop(), and xxxResolveDesktopForWOW().
|
|
Definition at line 1459 of file winsta.c. References FALSE, GetCurrentProcessId, gpidLogon, tagWINDOWSTATION::luidUser, NULL, tagWINDOWSTATION::psidUser, TRUE, and UINT. Referenced by NtUserSetWindowStationUser().
|
|
Definition at line 212 of file winsta.c. References ARRAY_SIZE, lpszStdFormats, NT_SUCCESS, NTSTATUS(), RtlAddAtomToAtomTable(), RtlCreateAtomTable(), RtlDestroyAtomTable(), RtlPinAtomInAtomTable(), and Status. Referenced by CreateW32Job(), and xxxCreateWindowStation().
|
|
Definition at line 830 of file winsta.c. References tagDESKTOP::dwConsoleThreadId, ExWindowStationObjectType, grpdeskLogon, grpWinStaList, LockDesktop, NULL, OBJECT_TO_OBJECT_HEADER, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagWINDOWSTATION::rpwinstaNext, TerminateConsole(), UnlockDesktop, UnlockWinSta, and VOID().
|
|
Definition at line 745 of file winsta.c. References tagKL::dwKL_Flags, tagWINDOWSTATION::dwWSF_Flags, EVENT_INCREMENT, ExWindowStationObjectType, FALSE, ForceEmptyClipboard(), gpEventSwitchDesktop, gspwndLogonNotify, HH_KBDLYOUTFREEWINSTA, HMMarkObjectDestroy(), HYDRA_HINT, KeSetEvent(), KL_UNLOADED, Lock, NULL, ObDereferenceObject, OBJECT_TO_OBJECT_HEADER, tagWINDOWSTATION::pGlobalAtomTable, tagKL::pklNext, tagWINDOWSTATION::psidUser, tagWINDOWSTATION::rpdeskList, RtlDestroyAtomTable(), tagWINDOWSTATION::spklList, Unlock, VOID(), WSF_DYING, and WSF_NOIO.
|
|
Definition at line 981 of file winsta.c. References CheckHandleFlag(), CheckHandleInUse(), ExWindowStationObjectType, FALSE, Handle, HF_PROTECTED, KernelMode, OBJECT_TO_OBJECT_HEADER, and TRUE.
|
|
Definition at line 911 of file winsta.c. References ExDesktopObjectType, ExWindowStationObjectType, L, NTSTATUS(), NULL, OBJECT_TO_OBJECT_HEADER, ObReferenceObject, and ParseDesktop().
|
|
Definition at line 1366 of file winsta.c. References AccessCheckObject(), tagPROCESSINFO::amwinsta, ExWindowStationObjectType, KernelMode, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PpiFromProcess, PtiFromThread, RETURN_IF_ACCESS_DENIED, tagTHREADINFO::rpdesk, tagPROCESSINFO::rpwinsta, tagDESKTOP::rpwinstaParent, Status, _ETHREAD::ThreadsProcess, and WinStaMapping. Referenced by CheckClipboardAccess(), UserGlobalAtomTableCallout(), and xxxSnapWindow().
|
|
Definition at line 243 of file winsta.c. References BEGINATOMICCHECK, _HANDLEENTRY::bFlags, CreateGlobalAtomTable(), CreateSecurityDescriptor(), DeferWinEventNotify, DESKTOPCLASS, DWORD, tagWINDOWSTATION::dwSessionId, tagTERMINAL::dwTERMF_Flags, tagWINDOWSTATION::dwWSF_Flags, ENDATOMICCHECK, ExEventObjectType, EXITATOMICCHECK, ExWindowStationObjectType, FALSE, gbRemoteSession, ghEventSwitchDesktop, gpepCSRSS, gpEventSwitchDesktop, gpidLogon, grpWinStaList, gSessionId, gTermIO, gTermNOIO, HANDLEF_POOL, tagTHREADINFO::hdesk, HMChangeOwnerThread(), hModuleWin, HMPheFromObject, IsWinEventNotifyDeferredOK, KeAttachProcess(), KeDetachProcess(), KernelMode, L, Lock, LockWinSta, LogDesktop, MAX_SESSION_PATH, NT_SUCCESS, NTSTATUS(), NULL, ObCreateObject(), ObDereferenceObject, ObInsertObject(), OBJECT_HEADER_TO_NAME_INFO, OBJECT_TO_OBJECT_HEADER, ObjectAttributes, ObOpenObjectByPointer(), ObReferenceObject, ObReferenceObjectByHandle(), ObSetSecurityDescriptorInfo(), PagedPool, _EPROCESS::Pcb, tagWINDOWSTATION::pGlobalAtomTable, tagTHREADINFO::ppi, PsGetCurrentProcess, tagWINDOWSTATION::pTerm, PtiCurrent, tagTERMINAL::ptiDesktop, tagTHREADINFO::rpdesk, tagWINDOWSTATION::rpwinstaNext, RtlCopySid(), RtlInitUnicodeString(), RtlLengthSid(), SeAssignSecurity(), SeCaptureSubjectContext(), SeDeassignSecurity(), SeExports, SeLockSubjectContext(), SeReleaseSubjectContext(), SetVisible(), SeUnlockSubjectContext(), _SE_EXPORTS::SeWorldSid, tagTERMINAL::spwndDesktopOwner, Status, SV_SET, TERMF_INITIALIZED, TERMF_NOIO, TIF_DISABLEHOOKS, tagTHREADINFO::TIF_flags, TRUE, USHORT, VER31, WINDOWSTATION, WinStaMapping, WSF_NOIO, xxxCreateWindowEx(), xxxInitTerminal(), xxxInitWindowStation(), xxxLoadKeyboardLayoutEx(), zzzEndDeferWinEventNotify, and zzzSetDesktop(). Referenced by NtUserCreateWindowStation(), and xxxConnectService().
|
|
Definition at line 26 of file winsta.c. References CheckCritIn, CreateSystemThread(), CreateTerminalInput(), tagTERMINAL::dwTERMF_Flags, EnterCrit, ExEventObjectType, FALSE, KernelMode, KeWaitForSingleObject(), LeaveCrit, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, ObReferenceObjectByHandle(), tagTERMINAL::pEventInputReady, tagTERMINAL::pEventTermInit, PKSTART_ROUTINE, Status, TERMF_DTINITFAILED, TERMF_INITIALIZED, TERMF_NOIO, WrUserRequest, and xxxDesktopThread(). Referenced by xxxCreateWindowStation().
|
|
Definition at line 1077 of file winsta.c. References tagPROCESSINFO::amwinsta, BOOL, tagWINDOWSTATION::dwWSF_Flags, ExWindowStationObjectType, FALSE, _OBJECT_HANDLE_INFORMATION::GrantedAccess, HF_PROTECTED, tagPROCESSINFO::hwinsta, LockWinSta, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PpiFromProcess, PsGetCurrentProcess, PsGetCurrentThread, tagPROCESSINFO::rpwinsta, RtlAreAllAccessesGranted(), SetHandleFlag(), Status, THREAD_TO_PROCESS, TRUE, _EPROCESS::Win32WindowStation, WSF_NOIO, and xxxUserDuplicateObject(). Referenced by NtUserSetProcessWindowStation(), and xxxCreateThreadInfo().
|
|
Initial value:
Definition at line 187 of file winsta.c. Referenced by CreateGlobalAtomTable(). |