2 * internal executive prototypes
5 #ifndef __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
6 #define __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H
8 #define NTOS_MODE_KERNEL
18 typedef struct _WINSTATION_OBJECT
24 LIST_ENTRY DesktopListHead
;
25 PRTL_ATOM_TABLE AtomTable
;
27 HANDLE SystemMenuTemplate
;
35 ULONG cxWallpaper
, cyWallpaper
;
36 WALLPAPER_MODE WallpaperMode
;
39 struct _DESKTOP_OBJECT
* ActiveDesktop
;
40 /* FIXME: Clipboard */
41 LIST_ENTRY HotKeyListHead
;
42 FAST_MUTEX HotKeyListLock
;
43 } WINSTATION_OBJECT
, *PWINSTATION_OBJECT
;
45 typedef struct _DESKTOP_OBJECT
52 /* Pointer to the associated window station. */
53 struct _WINSTATION_OBJECT
*WindowStation
;
54 /* Pointer to the active queue. */
55 PVOID ActiveMessageQueue
;
56 /* Rectangle of the work area */
62 /* Handle of the desktop window. */
64 HANDLE PrevActiveWindow
;
65 /* Thread blocking input */
66 PVOID BlockInputThread
;
67 } DESKTOP_OBJECT
, *PDESKTOP_OBJECT
;
70 typedef VOID (*PLOOKASIDE_MINMAX_ROUTINE
)(
74 PUSHORT MaximumDepth
);
76 /* GLOBAL VARIABLES *********************************************************/
78 TIME_ZONE_INFORMATION _SystemTimeZoneInfo
;
79 extern POBJECT_TYPE ExEventPairObjectType
;
82 /* INITIALIZATION FUNCTIONS *************************************************/
92 ExInitTimeZoneInfo (VOID
);
94 ExInitializeWorkerThreads(VOID
);
96 ExpInitLookasideLists(VOID
);
98 ExpInitializeCallbacks(VOID
);
100 /* OTHER FUNCTIONS **********************************************************/
103 ExpSwapThreadEventPair(
104 IN
struct _ETHREAD
* Thread
,
105 IN
struct _KEVENT_PAIR
* EventPair
109 #endif /* __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H */