aboutsummaryrefslogtreecommitdiff
path: root/TestDLL
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2019-09-22 02:48:58 +0200
committerToni Uhlig <matzeton@googlemail.com>2019-09-22 02:48:58 +0200
commit8d2a9fc1b66228c258d4cf42dc58d3c11852476e (patch)
treed079f944b74234a376669c2dcc60298dc8a7bbc7 /TestDLL
parent3a6bbe285462a1a3b1e93b1f3a2762085741186c (diff)
minimized DLL and using own entry
Diffstat (limited to 'TestDLL')
-rw-r--r--TestDLL/TestDLL.vcxproj12
-rw-r--r--TestDLL/dllmain.cpp36
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