11 #include "../../ie_api.h"
12 #include "../ie_exception.hpp"
29 class SharedObjectLoader {
31 HMODULE shared_object;
39 explicit SharedObjectLoader(LPCTSTR pluginName) {
41 shared_object = LoadLibrary(pluginName);
44 << pluginName <<
"': "
46 <<
" from cwd: " << _getcwd(cwd, 1024);
49 ~SharedObjectLoader() {
50 FreeLibrary(shared_object);
59 void *get_symbol(
const char* symbolName)
const {
61 THROW_IE_EXCEPTION <<
"Cannot get '" << symbolName <<
"' content from unknown library!";
63 auto procAddr =
reinterpret_cast<void*
>(GetProcAddress(shared_object, symbolName));
64 if (procAddr ==
nullptr)
65 THROW_IE_EXCEPTION <<
"GetProcAddress cannot locate method '" << symbolName <<
"': " << GetLastError();
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:22
Definition: ie_argmax_layer.hpp:11