update for HEAD-2003091401
[reactos.git] / subsys / win32k / include / winsta.h
1 #ifndef __WIN32K_WINSTA_H
2 #define __WIN32K_WINSTA_H
3
4 #include <windows.h>
5 #include <ddk/ntddk.h>
6 #include <internal/ex.h>
7 #include <internal/ps.h>
8 #include "msgqueue.h"
9
10
11 #define PROCESS_WINDOW_STATION() \
12   ((HWINSTA)(IoGetCurrentProcess()->Win32WindowStation))
13
14 #define SET_PROCESS_WINDOW_STATION(WinSta) \
15   ((IoGetCurrentProcess()->Win32WindowStation) = (PVOID)(WinSta))
16   
17 WINSTATION_OBJECT *InputWindowStation;
18 //FAST_MUTEX InputWindowStationLock;
19
20
21 NTSTATUS FASTCALL
22 InitWindowStationImpl(VOID);
23
24 NTSTATUS FASTCALL
25 CleanupWindowStationImpl(VOID);
26
27 NTSTATUS STDCALL
28 ValidateWindowStationHandle(HWINSTA WindowStation,
29                             KPROCESSOR_MODE AccessMode,
30                             ACCESS_MASK DesiredAccess,
31                             PWINSTATION_OBJECT *Object);
32
33 NTSTATUS STDCALL
34 ValidateDesktopHandle(HDESK Desktop,
35                       KPROCESSOR_MODE AccessMode,
36                       ACCESS_MASK DesiredAccess,
37                       PDESKTOP_OBJECT *Object);
38 LRESULT CALLBACK
39 IntDesktopWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
40 PDESKTOP_OBJECT FASTCALL
41 IntGetActiveDesktop(VOID);
42 PDESKTOP_OBJECT FASTCALL
43 IntGetDesktopObject ( HDESK hDesk );
44 PUSER_MESSAGE_QUEUE FASTCALL
45 IntGetFocusMessageQueue(VOID);
46 VOID FASTCALL
47 IntInitializeDesktopGraphics(VOID);
48 VOID FASTCALL
49 IntEndDesktopGraphics(VOID);
50 HDC FASTCALL
51 IntGetScreenDC(VOID);
52 VOID STDCALL
53 IntSetFocusMessageQueue(PUSER_MESSAGE_QUEUE NewQueue);
54 struct _WINDOW_OBJECT* STDCALL
55 IntGetCaptureWindow(VOID);
56 VOID STDCALL
57 IntSetCaptureWindow(struct _WINDOW_OBJECT* Window);
58
59 BOOL FASTCALL
60 IntGetWindowStationObject(PWINSTATION_OBJECT Object);
61
62 #endif /* __WIN32K_WINSTA_H */
63
64 /* EOF */