2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2001-06-12 17:51:51 +00:00
|
|
|
|
- Use PWINDOW_OBJECT instead HWND in PostTimerMessages, IntGetPaintMessage, co_MsqTranslateMouseMessage, co_MsqPeekHardwareMessage, co_MsqFindMessage, co_MsqWaitForNewMessages, MsqGetTimerMessage, MsqGetFirstTimerExpiry, co_IntPeekMessage
- Allow hWnd equal -1, 0x0000ffff, 0xffffffff
- Fixes 3 winetests for PeekMessageA/W
svn path=/trunk/; revision=41754
2009-07-03 09:37:44 +00:00
|
|
|
#include "window.h"
|
2007-03-08 13:31:33 +00:00
|
|
|
#include "clipboard.h"
|
2005-05-08 02:11:54 +00:00
|
|
|
|
2003-11-23 11:39:48 +00:00
|
|
|
#define WINSTA_ROOT_NAME L"\\Windows\\WindowStations"
|
|
|
|
#define WINSTA_ROOT_NAME_LENGTH 23
|
2003-11-10 17:44:50 +00:00
|
|
|
|
2004-05-01 16:43:15 +00:00
|
|
|
/* Window Station Status Flags */
|
|
|
|
#define WSS_LOCKED (1)
|
|
|
|
#define WSS_NOINTERACTIVE (2)
|
|
|
|
|
2005-06-25 20:05:56 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
wmCenter = 0,
|
|
|
|
wmTile,
|
|
|
|
wmStretch
|
|
|
|
} WALLPAPER_MODE;
|
|
|
|
|
|
|
|
typedef struct _WINSTATION_OBJECT
|
|
|
|
{
|
|
|
|
PVOID SharedHeap; /* points to kmode memory! */
|
|
|
|
|
|
|
|
CSHORT Type;
|
|
|
|
CSHORT Size;
|
|
|
|
KSPIN_LOCK Lock;
|
|
|
|
UNICODE_STRING Name;
|
|
|
|
LIST_ENTRY DesktopListHead;
|
|
|
|
PRTL_ATOM_TABLE AtomTable;
|
|
|
|
HANDLE SystemMenuTemplate;
|
|
|
|
UINT CaretBlinkRate;
|
|
|
|
HANDLE ShellWindow;
|
|
|
|
HANDLE ShellListView;
|
2007-10-19 23:21:45 +00:00
|
|
|
|
2009-03-30 21:21:41 +00:00
|
|
|
/* Effects */
|
|
|
|
BOOL FontSmoothing; /* enable */
|
|
|
|
UINT FontSmoothingType; /* 1:Standard,2:ClearType */
|
|
|
|
/* FIXME: Big Icons (SPI_GETICONMETRICS?) */
|
|
|
|
BOOL DropShadow;
|
|
|
|
BOOL DragFullWindows;
|
2007-07-14 14:17:54 +00:00
|
|
|
BOOL FlatMenu;
|
2009-03-30 21:21:41 +00:00
|
|
|
|
2007-07-14 14:17:54 +00:00
|
|
|
/* ScreenSaver */
|
|
|
|
BOOL ScreenSaverRunning;
|
|
|
|
UINT ScreenSaverTimeOut;
|
|
|
|
/* Should this be on each desktop ? */
|
|
|
|
BOOL ScreenSaverActive;
|
2006-07-10 00:26:56 +00:00
|
|
|
|
2005-06-25 20:05:56 +00:00
|
|
|
/* Wallpaper */
|
|
|
|
HANDLE hbmWallpaper;
|
|
|
|
ULONG cxWallpaper, cyWallpaper;
|
|
|
|
WALLPAPER_MODE WallpaperMode;
|
|
|
|
|
|
|
|
ULONG Flags;
|
2008-10-17 13:09:56 +00:00
|
|
|
struct _DESKTOP* ActiveDesktop;
|
2007-03-08 13:31:33 +00:00
|
|
|
|
|
|
|
PCLIPBOARDSYSTEM Clipboard;
|
|
|
|
DWORD ClipboardSequenceNumber;
|
2007-10-19 23:21:45 +00:00
|
|
|
|
2005-06-25 20:05:56 +00:00
|
|
|
} WINSTATION_OBJECT, *PWINSTATION_OBJECT;
|
|
|
|
|
2003-11-23 11:39:48 +00:00
|
|
|
extern WINSTATION_OBJECT *InputWindowStation;
|
2009-07-26 16:17:50 +00:00
|
|
|
extern PPROCESSINFO LogonProcess;
|
2001-06-12 17:51:51 +00:00
|
|
|
|
2003-05-18 17:16:18 +00:00
|
|
|
NTSTATUS FASTCALL
|
2001-06-12 17:51:51 +00:00
|
|
|
InitWindowStationImpl(VOID);
|
|
|
|
|
2003-05-18 17:16:18 +00:00
|
|
|
NTSTATUS FASTCALL
|
2001-06-12 17:51:51 +00:00
|
|
|
CleanupWindowStationImpl(VOID);
|
|
|
|
|
2005-05-08 02:11:54 +00:00
|
|
|
NTSTATUS
|
2008-11-29 22:48:58 +00:00
|
|
|
APIENTRY
|
2006-05-25 20:03:13 +00:00
|
|
|
IntWinStaObjectOpen(PWIN32_OPENMETHOD_PARAMETERS Parameters);
|
2005-05-08 02:11:54 +00:00
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
VOID APIENTRY
|
2006-05-25 20:03:13 +00:00
|
|
|
IntWinStaObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters);
|
2005-05-08 02:11:54 +00:00
|
|
|
|
|
|
|
NTSTATUS
|
2008-11-29 22:48:58 +00:00
|
|
|
APIENTRY
|
2006-05-25 20:03:13 +00:00
|
|
|
IntWinStaObjectParse(PWIN32_PARSEMETHOD_PARAMETERS Parameters);
|
2005-03-12 14:15:49 +00:00
|
|
|
|
2003-11-23 11:39:48 +00:00
|
|
|
NTSTATUS FASTCALL
|
|
|
|
IntValidateWindowStationHandle(
|
|
|
|
HWINSTA WindowStation,
|
|
|
|
KPROCESSOR_MODE AccessMode,
|
|
|
|
ACCESS_MASK DesiredAccess,
|
|
|
|
PWINSTATION_OBJECT *Object);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGetWindowStationObject(PWINSTATION_OBJECT Object);
|
|
|
|
|
2003-11-25 22:06:31 +00:00
|
|
|
BOOL FASTCALL
|
2005-09-05 21:19:23 +00:00
|
|
|
co_IntInitializeDesktopGraphics(VOID);
|
2003-11-23 11:39:48 +00:00
|
|
|
|
2003-05-18 17:16:18 +00:00
|
|
|
VOID FASTCALL
|
2003-08-19 11:48:50 +00:00
|
|
|
IntEndDesktopGraphics(VOID);
|
2003-11-23 11:39:48 +00:00
|
|
|
|
2003-12-07 19:29:33 +00:00
|
|
|
BOOL FASTCALL
|
|
|
|
IntGetFullWindowStationName(
|
|
|
|
OUT PUNICODE_STRING FullName,
|
|
|
|
IN PUNICODE_STRING WinStaName,
|
|
|
|
IN OPTIONAL PUNICODE_STRING DesktopName);
|
2003-08-24 01:12:16 +00:00
|
|
|
|
2004-11-20 16:46:06 +00:00
|
|
|
PWINSTATION_OBJECT FASTCALL IntGetWinStaObj(VOID);
|
|
|
|
|
2001-06-12 17:51:51 +00:00
|
|
|
/* EOF */
|