Bagikan melalui


Enumerasi EClrOperation

Menjelaskan serangkaian operasi dimana host bisa menerapkan tindakan kebijakan.

Sintaks

typedef enum {  
    OPR_ThreadAbort,  
    OPR_ThreadRudeAbortInNonCriticalRegion,  
    OPR_ThreadRudeAbortInCriticalRegion,  
    OPR_AppDomainUnload,  
    OPR_AppDomainRudeUnload,  
    OPR_ProcessExit,  
    OPR_FinalizerRun  
} EClrOperation;  

Anggota

Anggota Deskripsi
OPR_AppDomainRudeUnload Host bisa menentukan tindakan kebijakan yang akan diambil ketika AppDomain dibongkar dengan cara yang tidak baik (kasar).
OPR_AppDomainUnload Host bisa menentukan tindakan kebijakan yang akan diambil ketika AppDomain dibongkar.
OPR_FinalizerRun Host bisa menentukan tindakan kebijakan yang akan diambil saat finalizers berjalan.
OPR_ProcessExit Host bisa menentukan tindakan kebijakan yang akan diambil ketika proses keluar.
OPR_ThreadAbort Host bisa menentukan tindakan kebijakan yang akan diambil ketika utas dibatalkan.
OPR_ThreadRudeAbortInCriticalRegion Host bisa menentukan tindakan kebijakan yang akan diambil ketika pembatalan utas kasar terjadi di kawasan kritis kode.
OPR_ThreadRudeAbortInNonCriticalRegion Host bisa menentukan tindakan kebijakan yang harus diambil ketika pembatalan utas kasar terjadi di kawasan non-kritis kode.

Keterangan

Infrastruktur keandalan runtime bahasa umum (CLR) membedakan antara pembatalan dan kegagalan alokasi sumber daya yang terjadi di kawasan kritis kode dan yang terjadi di kawasan non-kritis kode. Perbedaan ini dirancang agar memungkinkan host untuk menetapkan kebijakan yang berbeda tergantung di mana kegagalan terjadi dalam kode.

Kawasan kode kritis adalah ruang di mana runtime bahasa umum tidak dapat menjamin bahwa membatalkan tugas atau gagal menyelesaikan permintaan sumber daya hanya akan memengaruhi tugas terkini. Misalnya, jika tugas memegang kunci dan menerima HRESULT yang menunjukkan kegagalan saat membuat permintaan alokasi memori, tidak cukup hanya untuk membatalkan tugas tersebut untuk memastikan stabilitas AppDomain, karena AppDomain bisa berisi tugas lain yang menunggu kunci yang sama. Meninggalkan tugas terkini dapat menyebabkan tugas-tugas lain berhenti merespon. Dalam kasus seperti itu, host membutuhkan kemampuan untuk membongkar seluruh AppDomain daripada memberi risiko potensi ketidakstabilan.

Kawasan kode non kritis, di sisi lain, adalah kawasan di mana runtime bahasa umum dapat menjamin bahwa pembatalan atau kegagalan hanya akan memengaruhi tugas tempat kesalahan terjadi.

Runtime bahasa umum juga membedakan antara pembatalan baik dan tidak baik (kasar). Secara umum, pematalan normal atau pembatalan baik membuat segala upaya untuk menjalankan rutinitas penanganan pengecualian dan finalizers sebelum membatalkan tugas, sementara aborsi kasar tidak memiliki jaminan tersebut.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: MSCorEE.h

Pustaka: MSCorEE.dll

Versi .NET Framework: Tersedia mulai dari 2.0

Lihat juga