Partager via


IHostTask::SetPriority, méthode

Demande à l’hôte d’ajuster le niveau de priorité du thread pour la tâche représentée par l’instance IHostTask actuelle.

Syntaxe

HRESULT SetPriority (  
    [in] int newPriority  
);  

Paramètres

newPriority
[in] Entier qui représente la valeur de priorité de thread demandée pour la tâche représentée par l’instance actuelle IHostTask.

Valeur de retour

HRESULT Description
S_OK SetPriority retourné.
HOST_E_CLRNOTAVAILABLE Le Common Language Runtime (CLR) n’a pas été chargé dans un processus ou est dans un état dans lequel il ne peut ni exécuter le code managé ni traiter l’appel avec succès.
HOST_E_TIMEOUT L’appel a expiré.
HOST_E_NOT_OWNER L’appelant n’est pas propriétaire du verrou.
HOST_E_ABANDONED Un événement a été annulé alors qu’un thread ou une fibre bloqué l’attendait.
E_FAIL Une défaillance catastrophique inconnue s’est produite. Quand une méthode retourne E_FAIL, le CLR n’est plus utilisable au sein du processus. Les appels suivants aux méthodes d’hébergement renvoient HOST_E_CLRNOTAVAILABLE.

Notes

Les threads sont accordés au moment du traitement à l’aide d’un système de tourniquet (round robin) qui est en partie basé sur le niveau de priorité d’un thread. SetPriority permet au CLR de définir ce niveau de priorité de thread pour la tâche actuelle. Les valeurs suivantes de newPriority sont admises.

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_IDLE

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_TIME_CRITICAL

Le CLR appelle SetPriority lorsque la valeur de Thread.Priority est modifiée par le code utilisateur. Un hôte peut définir ses propres algorithmes pour l’attribution de priorité de thread et est libre d’ignorer cette requête.

Notes

SetPriority ne signale pas si le niveau de priorité du thread a été modifié. Appelez IHostTask::GetPriority pour déterminer la valeur du niveau de priorité de thread de la tâche.

Les valeurs de niveau de priorité du thread sont définies par la fonction Win32 SetThreadPriority. Pour plus d’informations sur la priorité des threads, consultez la documentation de la plateforme Windows.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MSCorEE.h

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

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi