Freigeben über


ICLRTask2::BeginPreventAsyncAbort-Methode

Verzögert Threadabbrüche für den aktuellen Thread, die durch neue Threadabbruchanforderungen verursacht werden.

HRESULT BeginPreventAsyncAbort();

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler für Methodenfehler zurück.

HRESULT

Beschreibung

S_OK

Die Methode wurde erfolgreich abgeschlossen.

HOST_E_INVALIDOPERATION

Die Methode wurde für einen Thread aufgerufen, der nicht der aktuelle Thread ist.

Hinweise

Durch den Aufruf dieser Methode wird der Zähler für die Verzögerung des Threadabbruchs des aktuellen Threads um 1 erhöht.

Aufrufe von BeginPreventAsyncAbort und ICLRTask2::EndPreventAsyncAbort können geschachtelt werden. Solange der Zähler größer als 0 (null) ist, werden Threadabbrüche für den aktuellen Thread verzögert. Wenn dieser Aufruf keinem Aufruf der EndPreventAsyncAbort-Methode zugeordnet ist, 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 dieser Funktion verfügbar gemacht wird, wird intern vom virtuellen Computer (VM) verwendet. Die nicht ordnungsgemäße Verwendung dieser Methoden verursacht möglicherweise nicht definiertes Verhalten in der VM. Beispielsweise kann durch Aufrufen von EndPreventAsyncAbort ohne vorhergehenden Aufruf von BeginPreventAsyncAbort der Zähler auf 0 (null) festgelegt werden, wenn dieser zuvor von der VM erhöht wurde. Entsprechend wird der interne Zähler nicht auf einen Überlauf überprüft. Wenn er die Grenze für ganze Zahlen überschreitet, weil er sowohl vom Host als auch von der VM erhöht wird, ist das daraus folgende Verhalten undefiniert.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Referenz

ICLRTask2::EndPreventAsyncAbort-Methode

ICLRTask2-Schnittstelle

ICLRTaskManager-Schnittstelle

IHostTask-Schnittstelle

IHostTaskManager-Schnittstelle

Weitere Ressourcen

Hostingschnittstellen