Teilen über


ICLRTask2-Schnittstelle

Stellt die gesamte Funktionalität der ICLRTask-Schnittstelle bereit und bietet zusätzlich Methoden, mit denen Threadabbrüche im aktuellen Thread verzögert werden können.

Methoden

Methode BESCHREIBUNG
BeginPreventAsyncAbort-Methode Verzögert neue Threadabbruchanforderungen für den aktuellen Thread.
EndPreventAsyncAbort-Methode Ermöglicht, dass neue oder ausstehende Threadabbruchanforderungen zu Threadabbrüchen im aktuellen Thread führen.

Bemerkungen

Die ICLRTask2-Schnittstelle erbt die ICLRTask-Schnittstelle und fügt Methoden hinzu, die es dem Host ermöglichen, Threadabbrüche zu verzögern, um einen Bereich des Codes zu schützen, der nicht fehlschlagen darf. Durch den Aufruf von BeginPreventAsyncAbort wird der Zähler für den verzögerten Threadabbruch für den aktuellen Thread erhöht und durch den Aufruf von EndPreventAsyncAbort verringert. Aufrufe von BeginPreventAsyncAbort und EndPreventAsyncAbort können geschachtelt werden. Solange der Zähler größer als 0 ist, werden Threadabbrüche für den aktuellen Thread verzögert.

Wenn Aufrufe von BeginPreventAsyncAbort und EndPreventAsyncAbort nicht gekoppelt sind, kann ein Zustand erreicht werden, in dem Threadabbrüche nicht an den aktuellen Thread übermittelt werden können.

Die Verzögerung wird für einen Thread, der sich selbst abbricht, nicht berücksichtigt.

Die Funktionalität, die von diesem Feature verfügbar gemacht wird, wird intern vom virtuellen Computer (VM) verwendet. Der Missbrauch dieser Methoden kann zu nicht spezifiziertem Verhalten in der VM führen. Beispielsweise könnte der Aufruf von EndPreventAsyncAbort, ohne zunächst BeginPreventAsyncAbort aufzurufen, den Zähler auf 0 festlegen, wenn die VM ihn zuvor erhöht hat. Ebenso wird der interne Zähler nicht auf Überlauf überprüft. Wenn er seinen integralen Grenzwert überschreitet, da er sowohl vom Host als auch vom virtuellen Computer erhöht wird, ist das resultierende Verhalten nicht spezifiziert.

Informationen zu den von ICLRTask geerbten Mitgliedern und zu den anderen Zwecken dieser Schnittstelle finden Sie in den Angaben zur ICLRTask-Schnittstelle.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MSCorEE.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: seit Version 4 verfügbar

Siehe auch