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
IHostTaskManager-Schnittstelle