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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
/**
* @brief Windows shared library loader implementation
* Windows Shared Object loader class implementation
*/
#include "DllLib.h"
/**
* Attempts to LoadLibrary on the given DLL
*/
DllLib::DllLib(const char* fileName) : dll(NULL)
{
dll = LoadLibrary(fileName);
}
/**
* Does a FreeLibrary on the given DLL
*/
void DllLib::Unload() {
FreeLibrary(dll);
dll = NULL;
}
bool DllLib::LoadFailed() {
return dll == NULL;
}
/**
* Does a FreeLibrary on the given DLL
*/
DllLib::~DllLib()
{
Unload();
}
/**
* Attempts to locate the given symbol with GetProcAddress
*/
void* DllLib::FindAddress(const char* symbol)
{
return (void*) GetProcAddress(dll,symbol);
}
|