Condividi tramite


Metodo ICLRTask2::BeginPreventAsyncAbort

Ritarda le richieste di interruzione del nuovo thread dal risultato di interruzioni del thread nel thread corrente.

Sintassi

HRESULT BeginPreventAsyncAbort();  

Valore restituito

Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.

HRESULT Descrizione
S_OK Metodo completato correttamente.
HOST_E_INVALIDOPERATION Il metodo è stato chiamato su un thread che non è il thread corrente.

Commenti

La chiamata a questo metodo incrementa il contatore delay-thread-abort per il thread corrente di uno.

Le chiamate a BeginPreventAsyncAbort e ICLRTask2::EndPreventAsyncAbort possono essere annidate. Se il contatore è maggiore di zero, i thread interrotti per il thread corrente vengono ritardati. Se questa chiamata non è associata a una chiamata al EndPreventAsyncAbort metodo , è possibile raggiungere uno stato in cui non è possibile recapitare l'interruzione del thread al thread corrente.

Il ritardo non viene rispettato per un thread che interrompe se stesso.

La funzionalità esposta da questa funzionalità viene usata internamente dalla macchina virtuale.The functionality that is exposed by this feature is used internally by the virtual machine (VM). L'uso improprio di questi metodi può causare un comportamento non specificato nella macchina virtuale. Ad esempio, la chiamata EndPreventAsyncAbort senza prima chiamata BeginPreventAsyncAbort potrebbe impostare il contatore su zero quando la macchina virtuale l'ha incrementata in precedenza. Analogamente, il contatore interno non viene controllato per l'overflow. Se supera il limite integrale perché viene incrementato sia dall'host che dalla macchina virtuale, il comportamento risultante non viene specificato.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 4

Vedi anche