Partager via


IHostTaskManager::BeginThreadAffinity, méthode

Avertit l'hôte que le code managé entre dans une période au cours de laquelle la tâche en cours ne doit pas être déplacée vers un autre thread du système d'exploitation.

HRESULT BeginThreadAffinity ();

Valeur de retour

HRESULT

Description

S_OK

BeginThreadAffinity a été retourné avec succès.

HOST_E_CLRNOTAVAILABLE

Le Common Language Runtime (CLR) n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès.

HOST_E_TIMEOUT

L'appel a expiré.

HOST_E_NOT_OWNER

L'appelant ne possède pas le verrou.

HOST_E_ABANDONED

Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait.

E_FAIL

Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE.

Notes

Le CLR appelle généralement IHostTaskManager::BeginThreadAffinity dans le contexte d'un appel à Thread.BeginThreadAffinity. La tâche actuelle ne doit pas être replanifiée avant qu'un appel correspondant ne soit effectué à IHostTaskManager::EndThreadAffinity. Les tâches peuvent être interrompues, mais lorsqu'ils sont reprises, elles doivent être assignées au thread de système d'exploitation où elles ont été interrompues. Les appels imbriqués à BeginThreadAffinity n'ont aucun effet, car l'appel fait référence à la tâche actuelle.

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, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICLRTask, interface

ICLRTaskManager, interface

IHostTask, interface

IHostTaskManager, interface