Partager via


GetIfStackTable, fonction

La fonction GetIfStackTable récupère une table des 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 de retour

GetIfStackTable retourne STATUS_SUCCESS si la fonction réussit.

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

Retourner le code Description
STATUS_INVALID_PARAMETER

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

STATUS_NOT_ENOUGH_MEMORY

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

Remarques

La fonction GetIfStackTable énumère les interfaces réseau physiques et logiques sur une pile d’interfaces 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’interface est que l’interface avec un index dans la HigherLayerInterfaceIndex membre de la structure MIB_IFSTACK_ROW est immédiatement au-dessus de l’interface avec l’index dans le LowerLayerInterfaceIndex membre 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 requises, votre pilote doit libérer la mémoire en appelant FreeMibTable.

Notez que la structure MIB_IFSTACK_TABLE retournée par laquelle 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.

Exigences

Plateforme cible

universel

Version

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

En-tête

Netioapi.h (include 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