GetNumaNodeProcessorMask, fonction (winbase.h)

Récupère le masque de processeur pour le nœud spécifié.

Syntaxe

BOOL GetNumaNodeProcessorMask(
  [in]  UCHAR      Node,
  [out] PULONGLONG ProcessorMask
);

Paramètres

[in] Node

Numéro du nœud.

[out] ProcessorMask

Masque de processeur pour le nœud. Un masque de processeur est un vecteur de bits dans lequel chaque bit représente un processeur et indique s’il se trouve dans le nœud.

Si le nœud n’a aucun processeur configuré, le masque de processeur est égal à zéro.

Sur les systèmes avec plus de 64 processeurs, ce paramètre est défini sur le masque de processeur pour le nœud uniquement si le nœud se trouve dans le même groupe de processeurs que le thread appelant. Sinon, le paramètre est défini sur zéro.

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. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

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 é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.

Utilisez la fonction GetNumaNodeProcessorMaskEx pour récupérer le masque de processeur d’un nœud dans n’importe quel groupe de processeurs.

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 à partir du fer de mise en production à déterminer

Chaque nœud se voit attribuer un groupe principal par le système. Le masque retourné par GetNumaNodeProcessorMask est destiné au groupe principal du nœud et n’est retourné que si le thread appelant appartient à ce groupe.

Comportement dans les versions précédentes

Le masque du nœud spécifié est retourné.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista, Windows XP Professionnel Édition x64, Windows XP avec SP2 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetNumaNodeProcessorMaskEx

GetNumaProcessorNode

Prise en charge de NUMA

Fonctions de processus et de thread

SetProcessAffinityMask