EClrOperation – výčet

Popisuje sadu operací, pro které může hostitel použít akce zásad.

Syntax

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

Členové

Člen Description
OPR_AppDomainRudeUnload Hostitel může určit akce zásad, které se mají provést při uvolnění objektu AppDomain neslušným (hrubým) způsobem.
OPR_AppDomainUnload Hostitel může určit akce zásad, které se mají provést při uvolnění objektu AppDomain .
OPR_FinalizerRun Hostitel může určit akce zásad, které se mají provést při spuštění finalizačních metod.
OPR_ProcessExit Hostitel může určit akce zásad, které se mají provést při ukončení procesu.
OPR_ThreadAbort Hostitel může určit akce zásad, které se mají provést při přerušení vlákna.
OPR_ThreadRudeAbortInCriticalRegion Hostitel může určit akce zásad, které se mají provést, když v kritické oblasti kódu dojde k přerušení hrubého vlákna.
OPR_ThreadRudeAbortInNonCriticalRegion Hostitel může určit akce zásad, které se mají provést, když dojde k přerušení hrubého vlákna v nekritické oblasti kódu.

Poznámky

Infrastruktura spolehlivosti modulu CLR (Common Language Runtime) rozlišuje mezi přerušeními a selháními přidělení prostředků, ke kterým dochází v kritických oblastech kódu, a chybami, ke kterým dochází v nekritické oblasti kódu. Toto rozlišení umožňuje hostitelům nastavit různé zásady v závislosti na tom, kde v kódu dojde k selhání.

Kritickou oblastí kódu je jakékoli místo, kde CLR nemůže zaručit, že přerušení úlohy nebo nedokončování žádosti o zdroje ovlivní pouze aktuální úkol. Pokud například úkol drží zámek a obdrží hresult indikující selhání při vytvoření požadavku na přidělení paměti, nestačí jednoduše přerušit tento úkol, aby se zajistila stabilita objektu AppDomain, protože AppDomain může obsahovat další úlohy čekající na stejný zámek. Opuštění aktuální úlohy může způsobit, že tyto další úlohy přestanou reagovat. V takovém případě hostitel potřebuje možnost uvolnit celý AppDomain objekt, a ne riskovat potenciální nestabilitu.

Na druhou stranu nekritické oblasti kódu je oblast, ve které clr může zaručit, že přerušení nebo selhání ovlivní pouze úlohu, u které k chybě dochází.

ClR také rozlišuje mezi elegantními a neslušným (neslušným) přerušením. Obecně platí, že normální nebo řádné přerušení se snaží spustit rutiny zpracování výjimek a finalizační metody před přerušením úkolu, zatímco hrubé přerušení neposkytuje žádné takové záruky.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MSCorEE.h

Knihovna: MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také