Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memberi tahu host bahwa tugas yang saat ini dijalankan akan meninggalkan runtime bahasa umum (CLR) dan masukkan kode yang tidak terkelola.
Penting
Panggilan yang sesuai ke IHostTaskManager::EnterRuntime memberi tahu host bahwa tugas yang sedang dijalankan memasukkan kembali kode terkelola.
Sintaks
HRESULT LeaveRuntime (
[in] SIZE_T target
);
Parameter
target
[in] Alamat dalam file executable portabel yang dipetakan dari fungsi tidak terkelola yang akan dipanggil.
Tampilkan Nilai
| HRESULT | Deskripsi |
|---|---|
| S_OK |
LeaveRuntime berhasil dikembalikan. |
| HOST_E_CLRNOTAVAILABLE | Runtime bahasa umum belum dimuat ke dalam proses, atau runtime bahasa umum dalam status yaitu tidak dapat menjalankan kode aman atau memproses panggilan dengan sukses. |
| HOST_E_TIMEOUT | Waktu panggilan habis. |
| HOST_E_NOT_OWNER | Pemanggil tidak memiliki kunci. |
| HOST_E_ABANDONED | Peristiwa dibatalkan saat rangkaian atau fiber yang diblokir sedang menunggunya. |
| E_FAIL | Kegagalan katastrofe yang tidak diketahui terjadi. Saat metode menampilkan E_FAIL, CLR tidak lagi dapat digunakan dalam proses. Panggilan berikutnya ke metode hosting menampilkan HOST_E_CLRNOTAVAILABLE. |
| E_OUTOFMEMORY | Tidak tersedia cukup memori untuk menyelesaikan alokasi yang diminta. |
Keterangan
Urutan panggilan ke dan dari kode yang tidak dikelola dapat ditumpuk. Misalnya, daftar di bawah ini menjelaskan situasi hipotetis di mana urutan panggilan ke LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime, dan IHostTaskManager::EnterRuntime memungkinkan host mengidentifikasi lapisan bersarang.
| Tindakan | Panggilan Metode yang Sesuai |
|---|---|
| Executable Visual Basic terkelola memanggil fungsi tidak terkelola yang ditulis dalam C dengan menggunakan pemanggilan platform. | IHostTaskManager::LeaveRuntime |
| Fungsi C yang tidak terkelola memanggil metode dalam DLL terkelola yang ditulis dalam C#. | IHostTaskManager::ReverseEnterRuntime |
| Fungsi C# terkelola memanggil fungsi lain yang tidak terkelola yang ditulis dalam C, juga menggunakan pemanggilan platform. | IHostTaskManager::LeaveRuntime |
| Fungsi kedua yang tidak terkelola mengembalikan eksekusi ke fungsi C#. | IHostTaskManager::EnterRuntime |
| Fungsi C# mengembalikan eksekusi ke fungsi pertama yang tidak terkelola. | IHostTaskManager::ReverseLeaveRuntime |
| Fungsi pertama yang tidak terkelola mengembalikan eksekusi ke program Visual Basic. | IHostTaskManager::EnterRuntime |
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: MSCorEE.h
Pustaka: Disertakan sebagai sumber daya di MSCorEE.dll
Versi .NET Framework: Tersedia mulai dari 2.0