GetIpPathTable, fonction
La fonction GetIpPathEntry récupère des informations pour une entrée de chemin d’accès IP sur un ordinateur local.
Syntaxe
NETIOAPI_API GetIpPathTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPPATH_TABLE *Table
);
Paramètres
Famille [dans]
Famille d’adresses à récupérer.Les valeurs possibles pour la famille d’adresses sont répertoriées dans le fichier d’en-tête Winsock2.h. Notez que les valeurs du AF_ adressent les constantes famille et PF_ de famille de protocole sont identiques (par exemple, AF_INET et PF_INET), vous pouvez donc utiliser l’une ou l’autre constante.
Sur Windows Vista et les versions ultérieures des systèmes d’exploitation Windows, les valeurs possibles pour le paramètre Family sont définies dans le fichier d’en-tête Ws2def.h. Notez que le fichier d’en-tête Ws2def.h est automatiquement inclus dans Netioapi.h et que vous ne devez jamais utiliser Ws2def.h directement.
Les valeurs suivantes sont actuellement prises en charge pour la famille d’adresses :
AF_INET
Famille d’adresses IPv4. Lorsque cette valeur est spécifiée, cette fonction retourne la table de chemin d’accès IP qui contient uniquement des entrées IPv4.AF_INET6
Famille d’adresses IPv6. Lorsque cette valeur est spécifiée, cette fonction retourne la table de chemin d’accès IP qui contient uniquement des entrées IPv6.AF_UNSPEC
La famille d’adresses n’est pas spécifiée. Lorsque cette valeur est spécifiée, cette fonction retourne la table de chemin d’accès IP qui contient les entrées IPv4 et IPv6.
Table [out]
Pointeur vers une structure de MIB_IPPATH_TABLE qui contient une table d’entrées de chemin d’accès IP sur l’ordinateur local.
Valeur retournée
GetIpPathEntry retourne STATUS_SUCCESS si la fonction réussit.
Si la fonction échoue, GetIpPathEntry 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 ou si le paramètre Family n’a pas été spécifié comme AF_INET, AF_INET6 ou AF_UNSPEC. |
STATUS_NOT_ENOUGH_MEMORY | Des ressources de mémoire insuffisantes sont disponibles pour terminer l’opération. |
STATUS_NOT_FOUND | Aucune entrée de chemin d’accès IP, comme spécifié dans le paramètre Family , n’a été trouvée. |
STATUS_NOT_SUPPORTED | La demande n'est pas prise en charge. Cette erreur est retournée si aucune pile IPv4 ne se trouve sur l’ordinateur local et qu’AF_INET a été spécifié dans le paramètre Family , ou si aucune pile IPv6 ne se trouve sur l’ordinateur local et qu’AF_INET6 a été spécifié dans le paramètre Family . Cette erreur est également retournée sur les versions de Windows où cette fonction n’est pas prise en charge. |
Autres | Utilisez la fonction FormatMessage pour obtenir la chaîne de message pour l’erreur retournée. |
Notes
La fonction GetIpPathTable énumère les entrées de chemin d’accès IP sur un ordinateur local et retourne ces informations dans une structure de MIB_IPPATH_TABLE .
GetIpPathTable retourne les entrées de chemin d’accès IP dans une structure de MIB_IPPATH_TABLE dans la mémoire tampon vers laquelle pointe le paramètre Table . La structure MIB_IPPATH_TABLE contient un nombre d’entrées de chemin d’accès IP et un tableau de structures MIB_IPPATH_ROW pour chaque entrée de chemin d’accès IP. Lorsque ces structures retournées ne sont plus nécessaires, votre pilote doit libérer la mémoire en appelant FreeMibTable.
Votre pilote doit initialiser le paramètre Family pour AF_INET, AF_INET6 ou AF_UNSPEC.
Notez que la structure de MIB_IPPATH_TABLE retourné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_IPPATH_ROW dans le membre Table de la structure MIB_IPPATH_TABLE. Le remplissage pour l’alignement peut également être présent entre les entrées de tableau MIB_IPPATH_ROW. Tout accès à une entrée de tableau MIB_IPPATH_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 |