/* * internal executive prototypes */ #ifndef __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H #define __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H #include #include typedef struct _WINSTATION_OBJECT { CSHORT Type; CSHORT Size; KSPIN_LOCK Lock; UNICODE_STRING Name; LIST_ENTRY DesktopListHead; PRTL_ATOM_TABLE AtomTable; PVOID HandleTable; struct _DESKTOP_OBJECT* ActiveDesktop; /* FIXME: Clipboard */ } WINSTATION_OBJECT, *PWINSTATION_OBJECT; typedef struct _DESKTOP_OBJECT { CSHORT Type; CSHORT Size; LIST_ENTRY ListEntry; KSPIN_LOCK Lock; UNICODE_STRING Name; /* Pointer to the associated window station. */ struct _WINSTATION_OBJECT *WindowStation; /* Head of the list of windows in this desktop. */ LIST_ENTRY WindowListHead; /* Pointer to the active queue. */ PVOID ActiveMessageQueue; /* Handle of the desktop window. */ HANDLE DesktopWindow; HANDLE PrevActiveWindow; } DESKTOP_OBJECT, *PDESKTOP_OBJECT; typedef VOID (*PLOOKASIDE_MINMAX_ROUTINE)( POOL_TYPE PoolType, ULONG Size, PUSHORT MinimumDepth, PUSHORT MaximumDepth); /* GLOBAL VARIABLES *********************************************************/ TIME_ZONE_INFORMATION SystemTimeZoneInfo; /* INITIALIZATION FUNCTIONS *************************************************/ VOID ExpWin32kInit(VOID); VOID ExInit (VOID); VOID ExInitTimeZoneInfo (VOID); VOID ExInitializeWorkerThreads(VOID); VOID ExpInitLookasideLists(VOID); #endif /* __NTOSKRNL_INCLUDE_INTERNAL_EXECUTIVE_H */