Megosztás a következőn keresztül:


EClrOperation Enumerálás

Azokat a műveleteket ismerteti, amelyekre a gazdagép szabályzatműveleteket alkalmazhat.

Syntax

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

Tagok

Tag Description
OPR_AppDomainRudeUnload A gazdagép megadhatja azokat AppDomain a szabályzatműveleteket, amelyeket a rendszer nem kecses (durva) módon távolít el.
OPR_AppDomainUnload A gazdagép megadhatja a kiürítéskor AppDomain végrehajtandó szabályzatműveleteket.
OPR_FinalizerRun A gazdagép megadhatja a véglegesítők futtatásakor végrehajtandó szabályzatműveleteket.
OPR_ProcessExit A gazdagép megadhatja a folyamatból való kilépéskor végrehajtandó szabályzatműveleteket.
OPR_ThreadAbort A gazdagép megadhatja a szál megszakításakor végrehajtandó szabályzatműveleteket.
OPR_ThreadRudeAbortInCriticalRegion A gazdagép megadhatja a szabályzatműveleteket, amelyeket akkor kell végrehajtani, ha egy durva szál megszakad egy kritikus kódrégióban.
OPR_ThreadRudeAbortInNonCriticalRegion A gazdagép megadhat olyan szabályzatműveleteket, amelyeket akkor kell végrehajtani, ha egy durva szál megszakad egy nem kritikus kódterületen.

Megjegyzések

A közös nyelvi futtatókörnyezeti (CLR) megbízhatósági infrastruktúra különbséget tesz a kód kritikus régióiban előforduló megszakítások és erőforrás-foglalási hibák, valamint a kód nem kritikus régióiban előforduló hibák között. Ez a különbségtétel lehetővé teszi, hogy a gazdagépek különböző szabályzatokat állítsanak be attól függően, hogy hol történik hiba a kódban.

A kód kritikus régiója olyan terület, ahol a CLR nem tudja garantálni, hogy egy tevékenység megszakítása vagy az erőforrásokra vonatkozó kérések sikertelen teljesítése csak az aktuális tevékenységre lesz hatással. Ha például egy feladat zárolást tart, és egy HRESULT-t kap, amely a memórialefoglalási kérés végrehajtásakor hibát jelez, nem elegendő egyszerűen megszakítani ezt a feladatot a AppDomainstabilitásának biztosítása érdekében, mert az AppDomain tartalmazhat más feladatokat is, amelyek ugyanarra a zárolásra várnak. Az aktuális tevékenység megszakítása miatt a többi tevékenység nem válaszol. Ilyen esetben a gazdagépnek az egész AppDomain kiürítésére van szüksége, nem pedig a potenciális instabilitás kockázatára.

A kód nem kritikus régiója viszont egy olyan régió, ahol a CLR garantálja, hogy egy megszakítás vagy hiba csak azt a feladatot érinti, amelyre a hiba vonatkozik.

A CLR különbséget tesz a kecses és a nem kecses (durva) megszakítások között. Általánosságban elmondható, hogy egy normál vagy kecses megszakítás minden erőfeszítést megtesz, hogy kivételkezelési rutinokat és véglegesítőket futtasson a feladat megszakítása előtt, míg a durva megszakítás nem tesz ilyen garanciákat.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Kódtár: MSCorEE.dll

.NET-keretrendszer verziók: 2.0 óta elérhető

Lásd még