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

  • route [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 de 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 de retour

SetIpForwardEntry2 retourne STATUS_SUCCESS si la fonction réussit.

Si la fonction échoue, SetIpForwardEntry2 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 Route, le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 que le paramètre route point à n’a pas été spécifié, le membre NextHop de la structure MIB_IPFORWARD_ROW2 n’a pas été spécifié, ou les deux membres InterfaceLuid et InterfaceIndex membres de la structure MIB_IPFORWARD_ROW2 n’ont pas été spécifiés.

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 l'InterfaceLuid ou le membre 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 pour l’erreur retournée.

Remarques

La fonction SetIpForwardEntry2 est utilisée pour 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 Ligne.

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

Décalage de métrique d’itinéraire spécifié dans la Metric membre de la structure MIB_IPFORWARD_ROW2 qui Route points de paramètre pour représenter uniquement une partie de la métrique de routage 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 Metric 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 ligne. 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 le DestinationPrefix et les membres 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.

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2