pluginInitialize(nullptr),
pluginPreload(nullptr),
pluginSetAppInfo(nullptr),
+ pluginSetCoreclrInfo(nullptr),
pluginGetDllPath(nullptr),
pluginBeforeExecute(nullptr),
pluginFinalize(nullptr)
pluginInitialize = (plugin_initialize_ptr)dlsym(__pluginLib, "plugin_initialize");
pluginPreload = (plugin_preload_ptr)dlsym(__pluginLib, "plugin_preload");
pluginSetAppInfo = (plugin_set_app_info_ptr)dlsym(__pluginLib, "plugin_set_app_info");
+ pluginSetCoreclrInfo = (plugin_set_coreclr_info_ptr)dlsym(__pluginLib, "plugin_set_coreclr_info");
pluginGetDllPath = (plugin_get_dll_path_ptr)dlsym(__pluginLib, "plugin_get_dll_path");
pluginBeforeExecute = (plugin_before_execute_ptr)dlsym(__pluginLib, "plugin_before_execute");
pluginFinalize = (plugin_finalize_ptr)dlsym(__pluginLib, "plugin_finalize");
return false;
}
+ if (pluginSetCoreclrInfo)
+ pluginSetCoreclrInfo(__hostHandle, __domainId);
+
_DBG("Initialize core clr success");
return true;
}
pluginInitialize = nullptr;
pluginPreload = nullptr;
pluginSetAppInfo = nullptr;
+ pluginSetCoreclrInfo = nullptr;
pluginGetDllPath = nullptr;
pluginBeforeExecute = nullptr;
pluginFinalize = nullptr;
typedef void (*plugin_set_app_info_ptr)(
const char* appId,
- const char* hostHandle);
+ const char* managedAssemblyPath);
+
+ typedef void (*plugin_set_coreclr_info_ptr)(
+ void* hostHandle,
+ unsigned int domainId);
typedef char* (*plugin_get_dll_path_ptr)();
plugin_initialize_ptr pluginInitialize;
plugin_preload_ptr pluginPreload;
plugin_set_app_info_ptr pluginSetAppInfo;
+ plugin_set_coreclr_info_ptr pluginSetCoreclrInfo;
plugin_get_dll_path_ptr pluginGetDllPath;
plugin_before_execute_ptr pluginBeforeExecute;
plugin_finalize_ptr pluginFinalize;