Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.