summaryrefslogtreecommitdiff
path: root/shared/FindFilePlus/load_dll.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shared/FindFilePlus/load_dll.cpp')
-rw-r--r--shared/FindFilePlus/load_dll.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/shared/FindFilePlus/load_dll.cpp b/shared/FindFilePlus/load_dll.cpp
new file mode 100644
index 00000000..51ec1f0c
--- /dev/null
+++ b/shared/FindFilePlus/load_dll.cpp
@@ -0,0 +1,25 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h> // yes, this sequence is mad, but ddk and api headers contain plenty of redefinitions
+#include "load_dll.h" //
+
+void* /*FARPROC*/ dll::loadSymbol(const wchar_t* libraryName, const char* functionName)
+{
+ return ::GetProcAddress(::GetModuleHandle(libraryName), functionName);
+ //cleanup neither required nor allowed (::FreeLibrary())
+
+}
+//note: void* and FARPROC function pointer have same binary size on Windows
+
+
+void dll::setWin32Error(unsigned long lastError)
+{
+ ::SetLastError(lastError);
+}
+
+static_assert(ERROR_INVALID_ORDINAL == 182, "dang!"); \ No newline at end of file
bgstack15