Fonction SetThreadIdealProcessor (processthreadsapi.h)
Définit un processeur préféré pour un thread. Le système planifie des threads sur leurs processeurs préférés chaque fois que cela est possible.
Sur un système avec plus de 64 processeurs, cette fonction définit le processeur préféré sur un processeur logique dans le groupe de processeurs auquel le thread appelant est affecté. Utilisez la fonction SetThreadIdealProcessorEx pour spécifier un groupe de processeurs et un processeur préféré.
Syntaxe
DWORD SetThreadIdealProcessor(
[in] HANDLE hThread,
[in] DWORD dwIdealProcessor
);
Paramètres
[in] hThread
Handle du thread dont le processeur préféré doit être défini. Le handle doit avoir le droit d’accès THREAD_SET_INFORMATION. Pour plus d’informations, consultez Sécurité des threads et droits d’accès.
[in] dwIdealProcessor
Numéro du processeur préféré pour le thread. Cette valeur est de base zéro. Si ce paramètre est MAXIMUM_PROCESSORS, la fonction retourne le processeur idéal actuel sans le modifier.
Valeur retournée
Si la fonction réussit, la valeur de retour est le processeur préféré précédent.
Si la fonction échoue, la valeur de retour est (DWORD) – 1. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Vous pouvez utiliser la fonction GetSystemInfo pour déterminer le nombre de processeurs sur l’ordinateur. Vous pouvez également utiliser la fonction GetProcessAffinityMask pour case activée les processeurs sur lesquels le thread est autorisé à s’exécuter. Notez que GetProcessAffinityMask retourne un masque de bits alors que SetThreadIdealProcessor utilise une valeur entière pour représenter le processeur.
À compter de Windows 11 et De Windows Server 2022, sur un système avec plus de 64 processeurs, les affinités de processus et de thread s’étendent par défaut à tous les processeurs du système, dans tous les groupes de processeurs. La fonction SetThreadIdealProcessor définit le processeur préféré sur un processeur logique dans le groupe principal du thread.
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0400 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Windows 8.1 et Windows Server 2012 R2 : cette fonction est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et versions ultérieures.
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) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |