Partager via


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

Voir aussi

GROUP_AFFINITY

GetNumaNodeProcessorMask

Prise en charge de NUMA

Groupes de processeurs