GetNumaNodeProcessorMaskEx, fonction (systemtopologyapi.h)
Récupère le masque de processeur d’un nœud, quel que soit le groupe de processeurs auquel appartient le nœud.
Syntaxe
BOOL GetNumaNodeProcessorMaskEx(
[in] USHORT Node,
[out] PGROUP_AFFINITY ProcessorMask
);
Paramètres
[in] Node
Numéro de nœud.
[out] ProcessorMask
Pointeur vers une structure de GROUP_AFFINITY qui reçoit le masque de processeur pour le nœud spécifié. Un masque de processeur est un vecteur de bits dans lequel chaque bit représente un processeur et s’il se trouve dans le nœud.
Si le nœud spécifié n’a pas de processeurs configurés, le membre Mask est égal à zéro et le membre du groupe n’est pas défini.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro.
Remarques
La fonction GetNumaNodeProcessorMaskEx diffère de GetNumaNodeProcessorMask en ce qu’elle peut récupérer le masque de processeur pour un nœud, quel que soit le groupe auquel appartient le nœud. Autrement dit, le nœud n’a pas besoin d’être dans le même groupe que le thread appelant. La fonction GetNumaNodeProcessorMask peut récupérer le masque de processeur uniquement pour les nœuds qui se trouvent dans le même groupe que le thread appelant.
Pour récupérer le nœud numéroté le plus élevé du système, utilisez la fonction GetNumaHighestNodeNumber . Notez que ce nombre n’est pas garanti pour être égal au nombre total de nœuds dans le système.
Pour vous assurer que tous les threads de votre processus s’exécutent sur le même nœud, utilisez la fonction SetProcessAffinityMask avec un masque d’affinité de processus qui spécifie les processeurs dans le même nœud.
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT>= 0x0601. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Notes
À compter de TBD Release Iron, le comportement de cette fonction et d’autres fonctions NUMA a été modifié pour mieux prendre en charge les systèmes avec des nœuds contenant plus de 64 processeurs. Pour plus d’informations sur cette modification, notamment sur l’activation de l’ancien comportement de cette API, consultez Prise en charge de NUMA.
Comportement commençant par le fer à libération à déterminer
Chaque nœud se voit attribuer un groupe principal par le système. La GROUP_AFFINITY retournée par GetNumaNodeProcessorMaskEx concerne le groupe principal du nœud.
Comportement dans les versions précédentes
La GROUP_AFFINITY pour le nœud spécifié est retournée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | systemtopologyapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |