GetIpInterfaceEntry, fonction (netioapi.h)
La fonction GetIpInterfaceEntry récupère les informations IP de l’interface spécifiée sur l’ordinateur local.
Syntaxe
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpInterfaceEntry(
[in, out] PMIB_IPINTERFACE_ROW Row
);
Paramètres
[in, out] Row
Pointeur vers une structure de MIB_IPINTERFACE_ROW qui, en cas de retour réussi, reçoit des informations pour une interface sur l’ordinateur local. Lors de l’entrée, le membre InterfaceLuid ou InterfaceIndex du MIB_IPINTERFACE_ROW doit être défini sur l’interface pour laquelle récupérer des informations.
Valeur retournée
Si la fonction réussit, la valeur de retour est NO_ERROR.
Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.
Code de retour | Description |
---|---|
|
Le système ne peut pas trouver le fichier spécifié. Cette erreur est retournée si l’interface réseau LUID ou l’index d’interface spécifié par le membre InterfaceLuid ou InterfaceIndex du MIB_IPINTERFACE_ROW pointé par le paramètre Row n’était pas une valeur sur l’ordinateur local. |
|
Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si un pointeur NULL est passé dans le paramètre Row , que le membre Family du MIB_IPINTERFACE_ROW pointé par le paramètre Row n’a pas été spécifié comme AF_INET ou AF_INET6, ou que les deux membres InterfaceLuid ou InterfaceIndex du MIB_IPINTERFACE_ROW pointés par le paramètre Row n’ont pas été spécifiés. |
|
Element not found. Cette erreur est retournée si l’interface réseau spécifiée par le membre InterfaceLuid ou InterfaceIndex de la structure MIB_IPINTERFACE_ROW pointée par le paramètre Row ne correspond pas à la famille d’adresses IP spécifiée dans le membre Family dans la structure MIB_IPINTERFACE_ROW . |
|
Utilisez la fonction FormatMessage pour obtenir la chaîne de message de l’erreur retournée. |
Remarques
La fonction GetIpInterfaceEntry est définie sur Windows Vista et versions ultérieures.
Lors de l’entrée, le membre Family dans la structure MIB_IPINTERFACE_ROW pointée par le paramètre Row doit être initialisé en AF_INET ou AF_INET6. En outre, lors de l’entrée, au moins l’un des membres suivants dans la structure MIB_IPINTERFACE_ROW pointant vers le paramètre Row doit être initialisé : InterfaceLuid ou InterfaceIndex.
Les champs sont utilisés dans l’ordre indiqué ci-dessus. Ainsi, si l’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 (les valeurs de ce membre ont été définies sur zéro), le membre InterfaceIndex est ensuite utilisé pour déterminer l’interface.
Lors de la sortie, le membre InterfaceLuid de la structure MIB_IPINTERFACE_ROW pointée par le paramètre Row est renseigné si l’InterfaceIndex a été spécifié. Les autres membres de MIB_IPINTERFACE_ROW structure pointées par le paramètre Row sont également renseignés.
La fonction InitializeIpInterfaceEntry doit être utilisée pour initialiser les champs d’une entrée de structure MIB_IPINTERFACE_ROW avec des valeurs par défaut. Une application peut ensuite modifier les champs de l’entrée MIB_IPINTERFACE_ROW qu’elle souhaite modifier, puis appeler la fonction SetIpInterfaceEntry .
L’accès simultané non privilégié à plusieurs réseaux de différentes exigences de sécurité crée un trou de sécurité et permet à une application non privilégiée de relayer accidentellement des données entre les deux réseaux. Un exemple classique est l’accès simultané à un réseau privé virtuel (VPN) et à Internet. Windows Server 2003 et Windows XP utilisent un modèle d’hôte faible, où RAS empêche cet accès simultané en augmentant la métrique d’itinéraire de tous les itinéraires par défaut sur d’autres interfaces. Ainsi, tout le trafic est routé via l’interface VPN, ce qui perturbe d’autres connectivités réseau.
Sur Windows Vista et versions ultérieures, un modèle d’hôte fort est utilisé par défaut. Si une adresse IP source est spécifiée dans la recherche d’itinéraire à l’aide de GetBestRoute2 ou GetBestRoute, la recherche d’itinéraire est limitée à l’interface de l’adresse IP source. La modification de la métrique d’itinéraire par RAS n’a aucun effet, car la liste des itinéraires potentiels n’a même pas l’itinéraire pour l’interface VPN, ce qui autorise le trafic vers Internet. Le membre DisableDefaultRoutes du MIB_IPINTERFACE_ROW peut être utilisé pour désactiver l’utilisation de l’itinéraire par défaut sur une interface. Ce membre peut être utilisé comme mesure de sécurité par les clients VPN pour restreindre le tunneling fractionné lorsque le tunneling fractionné n’est pas requis par le client VPN. Un client VPN peut appeler la fonction SetIpInterfaceEntry pour définir le membre DisableDefaultRoutes sur TRUE si nécessaire. Un client VPN peut interroger l’état actuel du membre DisableDefaultRoutes en appelant la fonction GetIpInterfaceEntry .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | netioapi.h (include Iphlpapi.h) |
Bibliothèque | Iphlpapi.lib |
DLL | Iphlpapi.dll |