Partager via


GetIpForwardEntry2, fonction

La fonction GetIpForwardEntry2 récupère les informations d’une entrée d’itinéraire IP sur un ordinateur local.

Syntaxe

NETIOAPI_API GetIpForwardEntry2(
  _Inout_ PMIB_IPFORWARD_ROW2 Row
);

Paramètres

  • Ligne [in, out]
    Pointeur vers une entrée de structure MIB_IPFORWARD_ROW2 pour une entrée de route IP. En cas de retour réussi, cette structure est mise à jour avec les propriétés de l’entrée d’itinéraire IP.

Valeur retournée

GetIpForwardEntry2 retourne STATUS_SUCCESS si la fonction réussit.

Si la fonction échoue, GetIpForwardEntry2 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 l’une des situations suivantes se produit :

  • Un pointeur NULL est passé dans le paramètre Row .

  • Le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row n’a pas été spécifié.

  • Le membre NextHop de la structure MIB_IPFORWARD_ROW2 n’a pas été spécifié.

  • Les membres InterfaceLuid et InterfaceIndex de la structure MIB_IPFORWARD_ROW2 n’étaient pas spécifiés.

  • Le membre PreferredLifetime de la structure MIB_IPFORWARD_ROW2 est supérieur au membre ValidLifetime .

  • Le membre SitePrefixLength de la structure MIB_IPFORWARD_ROW2 est supérieur à la longueur de préfixe spécifiée par le membre DestinationPrefix .

STATUS_NOT_FOUND

L’interface spécifiée est introuvable. Cette erreur est retournée si la fonction ne trouve pas l’interface réseau spécifiée par le membre InterfaceLuid ou InterfaceIndex de la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row .

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 si AF_INET a été spécifié dans la famille d’adresses dans le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row , ou si aucune pile IPv6 ne se trouve sur l’ordinateur local et qu’AF_INET6 a été spécifié pour la famille d’adresses dans le membre DestinationPrefix .

Autres

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

Notes

La fonction GetIpForwardEntry2 est utilisée pour récupérer une entrée de structure MIB_IPFORWARD_ROW2 .

Lors de l’entrée, votre pilote doit initialiser les membres suivants de la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row .

  • DestinationPrefix
    Définissez sur un préfixe d’adresse IPv4 ou IPv6 valide et une famille.

  • NextHop
    Définissez sur une adresse et une famille IPv4 ou IPv6 valides.

  • InterfaceLuid ou InterfaceIndex
    Ces membres sont utilisés dans l’ordre indiqué précédemment. Par conséquent, si InterfaceLuid est spécifié, ce membre est utilisé pour déterminer l’interface. Si aucune valeur n’a été définie pour le membre InterfaceLuid (la valeur de ce membre a été définie sur zéro), le membre InterfaceIndex est ensuite utilisé pour déterminer l’interface.

Lors de la sortie, lorsque l’appel réussit, GetIpForwardEntry2 récupère les autres propriétés de l’entrée d’itinéraire IP et remplit la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row .

Décalage de métrique de routage spécifié dans le membre Metric de la structure MIB_IPFORWARD_ROW2 que le paramètre Row pointe vers ne représente qu’une partie de la métrique de routage complète. La métrique complète est une combinaison de cette métrique d’itinéraire ajoutée à la métrique d’interface spécifiée dans le membre Métrique de la structure MIB_IPINTERFACE_ROW de l’interface associée. Un pilote peut récupérer la métrique d’interface en appelant la fonction GetIpInterfaceEntry .

Votre pilote peut appeler la fonction GetIpForwardTable2 pour énumérer les entrées d’itinéraire IP sur un ordinateur local.

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

SetIpForwardEntry2