Partager via


ICLRTask2::BeginPreventAsyncAbort, méthode

Diffère les nouvelles demandes d'abandon de thread, provoquant des abandons de thread sur le thread actuel.

HRESULT BeginPreventAsyncAbort();

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT qui indiquent l'échec de la méthode.

HRESULT

Description

S_OK

La méthode s'est correctement terminée.

HOST_E_INVALIDOPERATION

La méthode a été appelée sur un thread qui n'est pas le thread actuel.

Notes

L'appel de cette méthode incrémente de 1 le compteur de délai d'abandon pour le thread actuel.

Les appels à BeginPreventAsyncAbort et ICLRTask2::EndPreventAsyncAbort peuvent être imbriqués. Tant que le compteur est supérieur à zéro, les abandons de thread pour le thread actuel sont retardés. Si cet appel n'est pas associé à un appel à la méthode EndPreventAsyncAbort, il est possible d'atteindre un état dans lequel les abandons de thread ne peuvent pas être remis au thread actuel.

Le délai n'est pas honoré pour un thread qui s'abandonne lui-même.

La fonctionnalité qui est exposée par cette fonctionnalité est utilisée en interne par la machine virtuelle. L'utilisation incorrecte de ces méthodes peut provoquer un comportement non spécifié dans la machine virtuelle. Par exemple, le fait d'appeler EndPreventAsyncAbort sans appeler auparavant BeginPreventAsyncAbort peut mettre le compteur à zéro alors que la machine virtuelle l'a précédemment incrémenté. De même, le compteur interne ne fait pas l'objet d'une vérification de dépassement de capacité. S'il dépasse sa limite intégrale parce qu'il est incrémenté par l'hôte et la machine virtuelle, le comportement résultant n'est pas spécifié.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MSCorEE.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4

Voir aussi

Référence

ICLRTask2::EndPreventAsyncAbort, méthode

ICLRTask2, interface

ICLRTaskManager, interface

IHostTask, interface

IHostTaskManager, interface

Autres ressources

Interfaces d'hébergement