Partager via


IHostTask::SetPriority, méthode

Demande que l'hôte ajuste le niveau de priorité de thread pour la tâche représentée par l'instance IHostTask actuelle.

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 IHostTask actuelle.

Valeur de retour

HRESULT

Description

S_OK

SetPriority 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 temps de traitement des threads est accordé via un système de rotation partiellement basé sur le niveau de priorité. SetPriority permet au CLR de définir ce niveau de priorité de thread pour la tâche actuelle. Les valeurs suivantes newPriority sont prises en charge.

  • 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'assignation des priorités de thread et est libre d'ignorer cette demande.

RemarqueRemarque

SetPriority n'indique pas si le niveau de priorité de 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é des threads sont définies par la fonction Windows (Win32) SetThreadPriority. Pour plus d'informations sur la priorité des threads, consultez la documentation de la plateforme Windows.

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

IHostTask::GetPriority, méthode

IHostTaskManager, interface

Thread