1 #ifndef _WIN32K_WINSTA_H
2 #define _WIN32K_WINSTA_H
7 #define WINSTA_ROOT_NAME L"\\Windows\\WindowStations"
8 #define WINSTA_ROOT_NAME_LENGTH 23
10 /* Window Station Status Flags */
11 #define WSS_LOCKED (1)
12 #define WSS_NOINTERACTIVE (2)
21 typedef struct _WINSTATION_OBJECT
23 PVOID SharedHeap
; /* points to kmode memory! */
29 LIST_ENTRY DesktopListHead
;
30 PRTL_ATOM_TABLE AtomTable
;
31 HANDLE SystemMenuTemplate
;
39 BOOL ScreenSaverRunning
;
40 UINT ScreenSaverTimeOut
;
44 ULONG cxWallpaper
, cyWallpaper
;
45 WALLPAPER_MODE WallpaperMode
;
48 struct _DESKTOP_OBJECT
* ActiveDesktop
;
50 PCLIPBOARDSYSTEM Clipboard
;
51 DWORD ClipboardSequenceNumber
;
53 } WINSTATION_OBJECT
, *PWINSTATION_OBJECT
;
55 extern WINSTATION_OBJECT
*InputWindowStation
;
56 extern PW32PROCESS LogonProcess
;
59 InitWindowStationImpl(VOID
);
62 CleanupWindowStationImpl(VOID
);
66 IntWinStaObjectOpen(PWIN32_OPENMETHOD_PARAMETERS Parameters
);
69 IntWinStaObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters
);
73 IntWinStaObjectParse(PWIN32_PARSEMETHOD_PARAMETERS Parameters
);
76 IntValidateWindowStationHandle(
77 HWINSTA WindowStation
,
78 KPROCESSOR_MODE AccessMode
,
79 ACCESS_MASK DesiredAccess
,
80 PWINSTATION_OBJECT
*Object
);
83 IntGetWindowStationObject(PWINSTATION_OBJECT Object
);
86 co_IntInitializeDesktopGraphics(VOID
);
89 IntEndDesktopGraphics(VOID
);
92 IntGetFullWindowStationName(
93 OUT PUNICODE_STRING FullName
,
94 IN PUNICODE_STRING WinStaName
,
95 IN OPTIONAL PUNICODE_STRING DesktopName
);
97 PWINSTATION_OBJECT FASTCALL
IntGetWinStaObj(VOID
);
99 #endif /* _WIN32K_WINSTA_H */