ICLRTask2::BeginPreventAsyncAbort – metoda
Zpozdí nové žádosti o přerušení vlákna z důvodu přerušení vlákna v aktuálním vlákně.
Syntax
HRESULT BeginPreventAsyncAbort();
Návratová hodnota
Tato metoda vrátí následující konkrétní hodnoty HRESULT a také chyby HRESULT, které značí selhání metody.
HRESULT | Description |
---|---|
S_OK | Metoda byla úspěšně dokončena. |
HOST_E_INVALIDOPERATION | Metoda byla volána ve vlákně, které není aktuálním vláknem. |
Poznámky
Volání této metody zvýší čítač delay-thread-abort pro aktuální vlákno o jeden.
BeginPreventAsyncAbort
Volání a ICLRTask2::EndPreventAsyncAbort lze vnořit. Pokud je čítač větší než nula, přerušení vlákna pro aktuální vlákno jsou zpožděny. Pokud toto volání není spárováno s voláním EndPreventAsyncAbort
metody, je možné dosáhnout stavu, ve kterém přerušení vlákna nelze doručit do aktuálního vlákna.
Zpoždění není respektováno pro vlákno, které přeruší samo.
Funkce, které tato funkce zveřejní, používá interně virtuální počítač. Zneužití těchto metod může způsobit neurčené chování virtuálního počítače. Například volání EndPreventAsyncAbort
bez prvního volání BeginPreventAsyncAbort
může nastavit čítač na nulu, pokud ho virtuální počítač dříve zvýšil. Podobně se nekontroluje přetečení interního čítače. Pokud překročí svůj celočíselný limit, protože se navyšuje hostitelem i virtuálním počítačem, výsledné chování se neurčí.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnutý jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od 4