/* Critical section for various kernel32 data structures */
CRITICAL_SECTION DllLock;
+CRITICAL_SECTION ConsoleLock;
+
+extern BOOL WINAPI DefaultConsoleCtrlHandler(DWORD Event);
/* FUNCTIONS *****************************************************************/
/* Initialize the DLL critical section */
RtlInitializeCriticalSection(&DllLock);
+ /* Initialize console ctrl handler */
+ RtlInitializeCriticalSection(&ConsoleLock);
+ SetConsoleCtrlHandler(DefaultConsoleCtrlHandler, TRUE);
+
/* Insert more dll attach stuff here! */
DllInitialized = TRUE;
/* Insert more dll detach stuff here! */
/* Delete DLL critical section */
+ RtlDeleteCriticalSection (&ConsoleLock);
RtlDeleteCriticalSection (&DllLock);
/* Close object base directory */