int execute_app( const pal::string_t& impl_dll_dir, corehost_init_t* init, const int argc, const pal::char_t* argv[]) { pal::dll_t corehost; corehost_main_fn host_main = nullptr; corehost_load_fn host_load = nullptr; corehost_unload_fn host_unload = nullptr; int code = load_host_library(impl_dll_dir, &corehost, &host_load, &host_main, &host_unload); if (code != StatusCode::Success) { trace::error(_X("An error occurred while loading required library %s from [%s]"), LIBHOSTPOLICY_NAME, impl_dll_dir.c_str()); return code; } // Previous hostfxr trace messages must be printed before calling trace::setup in hostpolicy trace::flush(); const host_interface_t& intf = init->get_host_init_data(); if ((code = host_load(&intf)) == 0) { code = host_main(argc, argv); (void)host_unload(); } pal::unload_library(corehost); return code; }
int execute_app( const pal::string_t& impl_dll_dir, const corehost_init_t* init, const int argc, const pal::char_t* argv[]) { pal::dll_t corehost; corehost_main_fn host_main = nullptr; corehost_load_fn host_load = nullptr; corehost_unload_fn host_unload = nullptr; int code = load_host_library(impl_dll_dir, &corehost, &host_load, &host_main, &host_unload); if (code != StatusCode::Success) { trace::error(_X("Could not load host policy library [%s]"), impl_dll_dir.c_str()); return code; } if ((code = host_load(init)) == 0) { code = host_main(argc, argv); (void)host_unload(); } pal::unload_library(corehost); return code; }
void host_init(void) { host_load(); }