Partager via


SetIpForwardEntry2, fonction

La fonction SetIpForwardEntry2 définit les propriétés d’une entrée d’itinéraire IP sur un ordinateur local.

Syntaxe

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

Paramètres

  • Itinéraire [in]
    Pointeur vers une entrée de structure MIB_IPFORWARD_ROW2 pour une entrée d’itinéraire IP. Votre pilote doit définir le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 sur un préfixe et une famille de destination IP valides, définir le membre NextHop de MIB_IPFORWARD_ROW2 sur une adresse IP et une famille valides, et spécifier le membre InterfaceLuid ou le membre InterfaceIndex de MIB_IPFORWARD_ROW2.

Valeur retournée

SetIpForwardEntry2 retourne STATUS_SUCCESS si la fonction réussit.

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

Code de retour 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 Route, le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 vers laquelle le paramètre Route pointe n’a pas été spécifié, le membre NextHop de la structure MIB_IPFORWARD_ROW2 n’a pas été spécifié, ou les membres InterfaceLuid et InterfaceIndex de la structure MIB_IPFORWARD_ROW2 n’ont pas été spécifiés.

STATUS_NOT_FOUND

L’interface spécifiée n’a pas pu être trouvée. 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 Route .

Autres

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

Notes

La fonction SetIpForwardEntry2 permet de définir les propriétés d’une entrée d’itinéraire IP existante sur un ordinateur local.

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 et une famille d’adresses IPv4 ou IPv6 valides.

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

  • InterfaceLuid ou InterfaceIndex
    Ces membres sont utilisés dans l’ordre répertorié précédemment. Ainsi, 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 à zéro), le membre InterfaceIndex est ensuite utilisé pour déterminer l’interface.

Décalage de métrique d’itinéraire spécifié dans le membre Métrique de la structure MIB_IPFORWARD_ROW2 que le paramètre Route pointe pour représenter uniquement une partie de la métrique d’itinéraire complète. La métrique complète est une combinaison de ce décalage de métrique de routage ajouté à 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.

SetIpForwardEntry2 ignore les membres Age et Origin de la structure MIB_IPFORWARD_ROW2 vers laquelle pointe le paramètre Row . Ces membres sont définis par la pile réseau et ne peuvent pas être modifiés à l’aide de la fonction SetIpForwardEntry2 .

La fonction SetIpForwardEntry2 échoue si les membres DestinationPrefix et NextHop de la structure MIB_IPFORWARD_ROW2 que le paramètre Route pointe pour ne pas correspondre à une entrée d’itinéraire IP sur l’interface spécifiée.

Spécifications

Plateforme cible

Universal

Version

Disponible sous Windows Vista et les versions ultérieures du système d’exploitation Windows.

En-tête

Netioapi.h (inclure Netioapi.h)

Bibliothèque

Netio.lib

IRQL

< DISPATCH_LEVEL

Voir aussi

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2