GetThreadPriority, fonction (processthreadsapi.h)
Récupère la valeur de priorité pour le thread spécifié. Cette valeur, ainsi que la classe de priorité du processus du thread, déterminent le niveau de priorité de base du thread.
Syntaxe
int GetThreadPriority(
[in] HANDLE hThread
);
Paramètres
[in] hThread
Handle pour le thread.
Le handle doit avoir le droit d’accès THREAD_QUERY_INFORMATION ou THREAD_QUERY_LIMITED_INFORMATION . Pour plus d’informations, consultez Sécurité des threads et droits d’accès.
Windows Server 2003 : Le handle doit avoir le droit d’accès THREAD_QUERY_INFORMATION .
Valeur retournée
Si la fonction réussit, la valeur de retour est le niveau de priorité du thread.
Si la fonction échoue, la valeur de retour est THREAD_PRIORITY_ERROR_RETURN. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Windows Phone 8.1 : cette fonction retourne toujours THREAD_PRIORITY_NORMAL.
Le niveau de priorité du thread est l’une des valeurs suivantes.
Code/valeur de retour | Description |
---|---|
|
Priorité 1 point au-dessus de la classe de priorité. |
|
Priorité 1 point sous la classe de priorité. |
|
Priorité 2 points au-dessus de la classe de priorité. |
|
Priorité de base de 1 pour les processus IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS ou HIGH_PRIORITY_CLASS , et priorité de base de 16 pour les processus REALTIME_PRIORITY_CLASS . |
|
Priorité 2 points sous la classe de priorité. |
|
Priorité normale pour la classe de priorité. |
|
Niveau de priorité de base de 15 pour les processus IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS ou HIGH_PRIORITY_CLASS , et niveau de priorité de base de 31 pour les processus REALTIME_PRIORITY_CLASS . |
Si le thread a la classe de base REALTIME_PRIORITY_CLASS , cette fonction peut également retourner l’une des valeurs suivantes : -7, -6, -5, -4, -3, 3, 4, 5 ou 6. Pour plus d’informations, consultez Planification des priorités.
Remarques
Chaque thread a un niveau de priorité de base déterminé par la valeur de priorité du thread et la classe de priorité de son processus. Le système d’exploitation utilise le niveau de priorité de base de tous les threads exécutables pour déterminer quel thread obtient la tranche suivante de temps processeur. Les threads sont planifiés de façon par tourniquet (round robin) à chaque niveau de priorité, et ce n’est qu’en l’absence de threads exécutables à un niveau supérieur que la planification des threads à un niveau inférieur a lieu.
Pour obtenir un tableau montrant les niveaux de priorité de base pour chaque combinaison de classe de priorité et de valeur de priorité de thread, reportez-vous à la fonction SetPriorityClass .
Windows 8.1 et Windows Server 2012 R2 : cette fonction est prise en charge pour les applications du Windows Store.
Windows Phone 8.1 :Windows Phone les applications du Store peuvent appeler cette fonction, mais elle n’a aucun effet.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | processthreadsapi.h (inclure Windows.h sur Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothèque | Kernel32.lib ; WindowsPhoneCore.lib sur Windows Phone 8.1 |
DLL | Kernel32.dll ; KernelBase.dll sur Windows Phone 8.1 |