8 #ifndef __WINSHAREDLIBRARY_H__
9 #define __WINSHAREDLIBRARY_H__
12 #include "libhmsbeagle/config.h"
15 #include "libhmsbeagle/plugin/SharedLibrary.h"
32 void* findSymbol(
const char* name)
38 WinSharedLibrary::WinSharedLibrary(
const char* name)
42 std::string libname = name;
56 UINT emode = SetErrorMode(SEM_FAILCRITICALERRORS);
57 m_handle = LoadLibrary(libname.c_str());
62 strcpy(buffer,
"Open Library Failure");
63 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,GetLastError(),
64 0, buffer,
sizeof(buffer),0);
68 WinSharedLibrary::~WinSharedLibrary()
70 if (!FreeLibrary(m_handle))
74 cerr << buffer << endl;
77 void* WinSharedLibrary::findSymbol(
const char* name)
78 throw (SharedLibraryException)
80 void* sym = GetProcAddress(m_handle,name);
85 throw SharedLibraryException(buffer);
95 #endif // __WINSHAREDLIBRARY_H__