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.