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 runtime bahasa umum bahwa host telah menyelesaikan tugas, dan memungkinkan runtime bahasa umum untuk menggunakan kembali instans ICLRTask saat ini untuk mewakili tugas lain.
Sintaks
HRESULT Reset (
[in] BOOL fFull
);
Parameter
fFull
[in] true, jika runtime harus mengatur ulang semua nilai statis terkait utas selain informasi keamanan dan lokal yang terkait dengan instans ICLRTask saat ini; jika tidak, false.
Jika nilainya adalah true, runtime mengatur ulang data yang disimpan menggunakan AllocateDataSlot atau AllocateNamedDataSlot.
Tampilkan Nilai
| HRESULT | Deskripsi |
|---|---|
| S_OK |
Reset berhasil dikembalikan. |
| HOST_E_CLRNOTAVAILABLE | Runtime bahasa umum belum dimuat ke dalam proses, atau runtime bahasa umum dalam keadaan di mana ia tidak dapat menjalankan kode terkelola atau memproses panggilan. berhasil |
| 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. |
Keterangan
Runtime bahasa umum dapat mendaur ulang instans ICLRTask yang dibuat sebelumnya untuk menghindari overhead membuat instans baru berulang kali setiap ia membutuhkan tugas baru. Host mengaktifkan fitur ini dengan memanggil ICLRTask::Reset alih-alih ICLRTask::ExitTask ketika telah menyelesaikan tugas. Daftar berikut ini meringkas siklus hidup normal instans ICLRTask:
Runtime membuat instans
ICLRTaskbaru.Runtime memanggil IHostTaskManager::GetCurrentTask untuk mendapatkan referensi ke tugas host saat ini.
Runtime memanggil IHostTask::SetCLRTask untuk mengaitkan instans baru dengan tugas host.
Tugas dijalankan dan diselesaikan.
Host menghancurkan tugas dengan memanggil
ICLRTask::ExitTask.
Reset mengubah skenario ini dengan dua cara. Pada langkah 5 di atas, host memanggil Reset untuk mengatur ulang tugas ke status bersih, lalu memisahkan instans ICLRTask dari instans IHostTask terkait. Jika diinginkan, host juga dapat menyimpan instans IHostTask untuk digunakan kembali. Pada langkah 1 di atas, runtime menarik ICLRTask daur ulang dari cache alih-alih membuat instans baru.
Pendekatan ini bekerja dengan baik ketika host juga memiliki kumpulan tugas pekerja yang dapat digunakan kembali. Ketika host menghancurkan salah satu instans IHostTask miliknya, host menghancurkan ICLRTask yang sesuai dengan memanggil ExitTask.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: MSCorEE.h
Pustaka: Disertakan sebagai sumber daya di MSCorEE.dll
Versi .NET Framework: Tersedia mulai dari 2.0