diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2019-09-22 02:48:58 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2019-09-22 02:48:58 +0200 |
commit | 8d2a9fc1b66228c258d4cf42dc58d3c11852476e (patch) | |
tree | d079f944b74234a376669c2dcc60298dc8a7bbc7 /TestDLL | |
parent | 3a6bbe285462a1a3b1e93b1f3a2762085741186c (diff) |
minimized DLL and using own entry
Diffstat (limited to 'TestDLL')
-rw-r--r-- | TestDLL/TestDLL.vcxproj | 12 | ||||
-rw-r--r-- | TestDLL/dllmain.cpp | 36 |
2 files changed, 20 insertions, 28 deletions
diff --git a/TestDLL/TestDLL.vcxproj b/TestDLL/TestDLL.vcxproj index e75526b..8f23a67 100644 --- a/TestDLL/TestDLL.vcxproj +++ b/TestDLL/TestDLL.vcxproj @@ -89,16 +89,20 @@ <PrecompiledHeader>Use</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <Optimization>Disabled</Optimization> - <SDLCheck>true</SDLCheck> + <SDLCheck>false</SDLCheck> <PreprocessorDefinitions>_DEBUG;TESTDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <ConformanceMode>true</ConformanceMode> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> </ClCompile> <Link> <SubSystem>Windows</SubSystem> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalLibraryDirectories>$(VCToolsInstallDir)lib\x64;$(OutputPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>kernel32.lib;user32.lib</AdditionalDependencies> + <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> + <EntryPointSymbol>LibEntry</EntryPointSymbol> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -140,10 +144,12 @@ <Optimization>MaxSpeed</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> + <SDLCheck>false</SDLCheck> <PreprocessorDefinitions>NDEBUG;TESTDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <ConformanceMode>true</ConformanceMode> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -152,6 +158,8 @@ <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalLibraryDirectories>$(VCToolsInstallDir)lib\x64;$(OutputPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalDependencies>kernel32.lib;user32.lib</AdditionalDependencies> + <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> + <EntryPointSymbol>LibEntry</EntryPointSymbol> </Link> </ItemDefinitionGroup> <ItemGroup> diff --git a/TestDLL/dllmain.cpp b/TestDLL/dllmain.cpp index 4143b7b..3cbf490 100644 --- a/TestDLL/dllmain.cpp +++ b/TestDLL/dllmain.cpp @@ -1,31 +1,15 @@ -// dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" -BOOL APIENTRY DllMain(HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved -) +void APIENTRY LibEntry(void) { - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } + static bool firstEntry = true; - static bool bShowMessage = true; - if (bShowMessage) { - bShowMessage = false; - } - else { - return true; - } - - return MessageBoxA(NULL, - "DllMain from TestDLL", - "TestDLL Notification", - MB_OK | MB_ICONINFORMATION) == IDOK ? TRUE : FALSE; -} + if (firstEntry) { + firstEntry = false; + MessageBoxA(NULL, + "DllMain from TestDLL", + "TestDLL Notification", + MB_OK | MB_ICONINFORMATION) == IDOK ? TRUE : FALSE; + } +}
\ No newline at end of file |