11 #include "../../ie_api.h"
12 #include "../ie_exception.hpp"
29 class SharedObjectLoader {
31 HMODULE shared_object;
39 explicit SharedObjectLoader(LPCTSTR pluginName) {
47 if (GetDllDirectory(0, NULL) <= 1) {
55 shared_object = LoadLibrary(pluginName);
58 <<
" from cwd: " << _getcwd(cwd, 1024);
61 ~SharedObjectLoader() {
62 FreeLibrary(shared_object);
71 void* get_symbol(
const char* symbolName)
const {
73 THROW_IE_EXCEPTION <<
"Cannot get '" << symbolName <<
"' content from unknown library!";
75 auto procAddr =
reinterpret_cast<void*
>(GetProcAddress(shared_object, symbolName));
76 if (procAddr ==
nullptr)
77 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:24
Inference Engine API.
Definition: ie_argmax_layer.hpp:11