#pragma comment(linker, "/export:coreclr_initialize=_coreclr_initialize@28")
#pragma comment(linker, "/export:coreclr_execute_assembly=_coreclr_execute_assembly@24")
#pragma comment(linker, "/export:coreclr_shutdown_2=_coreclr_shutdown_2@12")
+#pragma comment(linker, "/export:coreclr_shutdown=_coreclr_shutdown@8")
#pragma comment(linker, "/export:coreclr_create_delegate=_coreclr_create_delegate@24")
#pragma comment(linker, "/export:coreclr_set_error_writer=_coreclr_set_error_writer@4")
#undef MONO_API
const char* managedAssemblyPath, unsigned int* exitCode);
MONO_API int STDAPICALLTYPE coreclr_shutdown_2 (void* hostHandle, unsigned int domainId, int* latchedExitCode);
+MONO_API int STDAPICALLTYPE coreclr_shutdown (void* hostHandle, unsigned int domainId);
MONO_API int STDAPICALLTYPE coreclr_create_delegate (void* hostHandle, unsigned int domainId,
const char* entryPointAssemblyName, const char* entryPointTypeName, const char* entryPointMethodName,
}
//
+// Shutdown CoreCLR. It unloads the app domain and stops the CoreCLR host.
+//
+// Parameters:
+// hostHandle - Handle of the host
+// domainId - Id of the domain
+// latchedExitCode - Latched exit code after domain unloaded
+//
+// Returns:
+// HRESULT indicating status of the operation. S_OK if the assembly was successfully executed
+//
+int STDAPICALLTYPE coreclr_shutdown (void* hostHandle, unsigned int domainId)
+{
+ int latchedExitCode = 0 ;
+ return monovm_shutdown (&latchedExitCode);
+}
+
+
+//
// Create a native callable delegate for a managed method.
//
// Parameters: