summaryrefslogtreecommitdiff
path: root/shared/FindFilePlus/load_dll.cpp
blob: 51ec1f0c77752d09e5ebfb051f8097058ea48763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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!");
bgstack15