diff options
Diffstat (limited to 'shared/FindFilePlus/load_dll.cpp')
-rw-r--r-- | shared/FindFilePlus/load_dll.cpp | 25 |
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 |