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 |