spiegel-keyman/windows/src/engine/kmtip/dllmain.cpp
Marc Durdin 738e1946a6 [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps
[Windows] More tidyup and robustness for metro app support - debug cleanup and serialization of input (not quite finished)

[windows] Refactor serialized input code when used with key event thread model

[windows] Add consistent precompiled headers for other projects

[windows] Merge console window test into metro support

[Windows] Tidy up work and identify additional TODOs for metro-style app support

[Windows] Ensure error case falls through to default hook processing for console windows

[Windows] Refactor shared memory into memory mapped file so we can cross 32-64 bit boundary

[Windows] Tweaks to C++ security calls and parameters

[Windows] Start refactor of SerialKeyEvent* classes

[Windows] Rename to SerialKeyEventServer (refactoring)

[Windows] Complete refactoring of SerialKeyEventClient class

[Windows] Further encapsulation and cleanup with 'interfaces' to reduce header pollution

[Windows] Complete serialization fix with move of modifier state management from client thread to server thread to guarantee consistency

[Windows] Replace atom-based keyboard switching with memory mapped file indexed to avoid security constraints

[Windows] Fixup Left Alt+Shift interaction with serializer

[Windows] Use Windows 8.1 SDK for test
2018-10-18 20:00:49 +11:00

49 lines
1.2 KiB
C++

/*
Name: dllmain
Copyright: Copyright (C) SIL International.
Documentation:
Description:
Create Date: 7 Sep 2009
Modified Date: 20 Nov 2012
Authors: mcdurdin
Related Files:
Dependencies:
Bugs:
Todo:
Notes:
History: 07 Sep 2009 - mcdurdin - I2095 - Fixup thread-local variables
20 Nov 2012 - mcdurdin - I3580 - V9.0 - KMTip no longer needs global process and thread initialisation
*/
//
// dllmain.cpp
//
// DllMain module entry point.
//
#include "pch.h"
//+---------------------------------------------------------------------------
//
// DllMain
//
//----------------------------------------------------------------------------
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID pvReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
g_hInst = hInstance;
InitializeCriticalSection(&g_cs);
//DisableThreadLibraryCalls(hInstance); per documentation, required for static link of CRT // I3580
break;
case DLL_PROCESS_DETACH:
DeleteCriticalSection(&g_cs);
break;
}
return TRUE;
}