1 #ifndef __INCLUDE_NAPI_WIN32_H
2 #define __INCLUDE_NAPI_WIN32_H
4 struct _DESKTOP_OBJECT
;
6 typedef struct _WINSTATION_OBJECT
13 LIST_ENTRY DesktopListHead
;
14 PRTL_ATOM_TABLE AtomTable
;
16 struct _DESKTOP_OBJECT
* ActiveDesktop
;
17 /* FIXME: Clipboard */
18 } WINSTATION_OBJECT
, *PWINSTATION_OBJECT
;
20 typedef struct _DESKTOP_OBJECT
27 /* Pointer to the associated window station. */
28 struct _WINSTATION_OBJECT
*WindowStation
;
29 /* Head of the list of windows in this desktop. */
30 LIST_ENTRY WindowListHead
;
31 /* Pointer to the active queue. */
32 PVOID ActiveMessageQueue
;
33 /* Handle of the desktop window. */
35 HANDLE PrevActiveWindow
;
36 } DESKTOP_OBJECT
, *PDESKTOP_OBJECT
;
38 typedef struct _W32THREAD
41 FAST_MUTEX WindowListLock
;
42 LIST_ENTRY WindowListHead
;
43 struct _DESKTOP_OBJECT
*Desktop
;
44 } __attribute__((packed
)) W32THREAD
, *PW32THREAD
;
46 typedef struct _W32PROCESS
48 FAST_MUTEX ClassListLock
;
49 LIST_ENTRY ClassListHead
;
50 struct _WINSTATION_OBJECT
*WindowStation
;
51 } W32PROCESS
, *PW32PROCESS
;
53 typedef struct _NCCALCSIZE_PARAMS
{
60 PsGetWin32Thread(VOID
);
62 PsCreateWin32Thread(PETHREAD Thread
);
64 PsGetWin32Process(VOID
);
66 PsCreateWin32Process(PEPROCESS Process
);
68 PsEstablishWin32Callouts(PVOID Param1
,
73 ULONG W32ProcessSize
);
75 #endif /* __INCLUDE_NAPI_WIN32_H */