-#ifndef _WIN32K_WINSTA_H
-#define _WIN32K_WINSTA_H
+#pragma once
-#include "msgqueue.h"
+#include "window.h"
+#include "clipboard.h"
#define WINSTA_ROOT_NAME L"\\Windows\\WindowStations"
#define WINSTA_ROOT_NAME_LENGTH 23
LIST_ENTRY DesktopListHead;
PRTL_ATOM_TABLE AtomTable;
HANDLE SystemMenuTemplate;
- PVOID SystemCursor;
UINT CaretBlinkRate;
HANDLE ShellWindow;
HANDLE ShellListView;
+ /* Effects */
+ BOOL FontSmoothing; /* enable */
+ UINT FontSmoothingType; /* 1:Standard,2:ClearType */
+ /* FIXME: Big Icons (SPI_GETICONMETRICS?) */
+ BOOL DropShadow;
+ BOOL DragFullWindows;
+ BOOL FlatMenu;
+
+ /* ScreenSaver */
+ BOOL ScreenSaverRunning;
+ UINT ScreenSaverTimeOut;
+ /* Should this be on each desktop ? */
+ BOOL ScreenSaverActive;
+
/* Wallpaper */
HANDLE hbmWallpaper;
ULONG cxWallpaper, cyWallpaper;
WALLPAPER_MODE WallpaperMode;
ULONG Flags;
- struct _DESKTOP_OBJECT* ActiveDesktop;
- /* FIXME: Clipboard */
+ struct _DESKTOP* ActiveDesktop;
+
+ PCLIPBOARDSYSTEM Clipboard;
+ DWORD ClipboardSequenceNumber;
+
} WINSTATION_OBJECT, *PWINSTATION_OBJECT;
extern WINSTATION_OBJECT *InputWindowStation;
-extern PW32PROCESS LogonProcess;
+extern PPROCESSINFO LogonProcess;
NTSTATUS FASTCALL
InitWindowStationImpl(VOID);
CleanupWindowStationImpl(VOID);
NTSTATUS
-STDCALL
-IntWinStaObjectOpen(IN OB_OPEN_REASON Reason,
- IN PEPROCESS Process OPTIONAL,
- IN PVOID ObjectBody,
- IN ACCESS_MASK GrantedAccess,
- IN ULONG HandleCount);
-
-VOID STDCALL
-IntWinStaObjectDelete(PVOID DeletedObject);
+APIENTRY
+IntWinStaObjectOpen(PWIN32_OPENMETHOD_PARAMETERS Parameters);
-PVOID STDCALL
-IntWinStaObjectFind(PVOID Object,
- PWSTR Name,
- ULONG Attributes);
+VOID APIENTRY
+IntWinStaObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters);
NTSTATUS
-STDCALL
-IntWinStaObjectParse(PVOID Object,
- PVOID *NextObject,
- PUNICODE_STRING FullPath,
- PWSTR *Path,
- ULONG Attributes);
+APIENTRY
+IntWinStaObjectParse(PWIN32_PARSEMETHOD_PARAMETERS Parameters);
NTSTATUS FASTCALL
IntValidateWindowStationHandle(
PWINSTATION_OBJECT FASTCALL IntGetWinStaObj(VOID);
-#endif /* _WIN32K_WINSTA_H */
-
/* EOF */