39#include "blocxx/BLOCXX_config.h"
41#if defined(BLOCXX_USE_DLL)
51typedef void (__stdcall *DllEntry_t)(void);
57Mutex DLLSharedLibrary_guard;
60DLLSharedLibrary::DLLSharedLibrary(HINSTANCE libhandle,
const String& libName)
63 DllEntry_t ensureInit;
65 if( getFunctionPointer(
"DllEnsureInit", ensureInit) )
69DLLSharedLibrary::~DLLSharedLibrary()
73 if( getFunctionPointer(
"DllForceTerm", forceTerm) )
76 ::FreeLibrary(m_libhandle);
80DLLSharedLibrary::doGetFunctionPointer(
const String& functionName,
83 MutexLock l(DLLSharedLibrary_guard);
85 *fp = (
void*) ::GetProcAddress(m_libhandle, functionName.c_str());
SharedLibrary is a base class for platform classes that implement the functionality of loading and qu...
This String class is an abstract data type that represents as NULL terminated string of characters.