Partager via


Fonction GetIfStackTable

La fonction GetIfStackTable récupère une table d’entrées de ligne de pile d’interface réseau qui spécifient la relation des interfaces réseau sur une pile d’interface.

Syntaxe

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

Paramètres

  • Table [out]
    Pointeur vers une mémoire tampon qui reçoit la table des entrées de ligne de pile d’interface dans une structure MIB_IFSTACK_TABLE .

Valeur retournée

GetIfStackTable retourne STATUS_SUCCESS si la fonction réussit.

Si la fonction échoue, GetIfStackTable retourne l’un des codes d’erreur suivants :

Code de retour Description
STATUS_INVALID_PARAMETER

Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si un pointeur NULL est passé dans le paramètre Table .

STATUS_NOT_ENOUGH_MEMORY

Des ressources de mémoire insuffisantes sont disponibles pour terminer l’opération.

STATUS_NOT_FOUND

Aucune entrée de pile d’interface n’a été trouvée.

Autres

Utilisez la fonction FormatMessage pour obtenir la chaîne de message pour l’erreur retournée.

Notes

La fonction GetIfStackTable énumère les interfaces réseau physiques et logiques d’une pile d’interface sur un ordinateur local et retourne ces informations dans une structure MIB_IFSTACK_TABLE .

Les entrées de pile d’interface sont retournées dans une structure MIB_IFSTACK_TABLE dans la mémoire tampon vers laquelle pointe le paramètre Table . La structure MIB_IFSTACK_TABLE contient un nombre d’entrées de pile d’interface et un tableau de structures MIB_IFSTACK_ROW pour chaque entrée de pile d’interface.

La relation entre les interfaces de la pile d’interfaces est que l’interface avec index dans le membre HigherLayerInterfaceIndex de la structure MIB_IFSTACK_ROW se trouve immédiatement au-dessus de l’interface avec index dans le membre LowerLayerInterfaceIndex de la structure MIB_IFSTACK_ROW.

La mémoire est allouée par la fonction GetIfStackTable pour la structure MIB_IFSTACK_TABLE et les entrées MIB_IFSTACK_ROW dans cette structure. Lorsque ces structures retournées ne sont plus nécessaires, votre pilote doit libérer la mémoire en appelant FreeMibTable.

Notez que la structure de MIB_IFSTACK_TABLE renvoyée vers laquelle pointe le paramètre Table peut contenir un remplissage pour l’alignement entre le membre NumEntries et la première entrée de tableau MIB_IFSTACK_ROW dans le membre Table de la structure MIB_IFSTACK_TABLE. Le remplissage pour l’alignement peut également être présent entre les entrées de tableau MIB_IFSTACK_ROW. Tout accès à une entrée de tableau MIB_IFSTACK_ROW doit supposer que le remplissage peut exister.

Spécifications

Plateforme cible

Universal

Version

Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.

En-tête

Netioapi.h (inclure Netioapi.h)

Bibliothèque

Netio.lib

IRQL

< DISPATCH_LEVEL

Voir aussi

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry