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 GetIpInterfaceEntry récupère les informations IP de l’interface spécifiée sur un ordinateur local.
Syntaxe
NETIOAPI_API GetIpInterfaceEntry(
_Inout_ PMIB_IPINTERFACE_ROW Row
);
Paramètres
-
ligne [in, out]
Pointeur vers une structure MIB_IPINTERFACE_ROW qui, lors d’un retour réussi, reçoit des informations pour une interface sur l’ordinateur local. Lors de l’entrée, votre pilote doit définir le membre InterfaceLuid ou le membre InterfaceIndex de l’MIB_IPINTERFACE_ROW à l’interface pour récupérer des informations.
Valeur de retour
GetIpInterfaceEntry retourne STATUS_SUCCESS si la fonction réussit.
Si la fonction échoue, GetIpInterfaceEntry 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 ligne, le membre famille de la structure MIB_IPINTERFACE_ROW que les points de paramètre ligne n’ont pas été spécifiés comme AF_INET ou AF_INET6, ou les InterfaceLuid et InterfaceIndex membres de la structure MIB_IPINTERFACE_ROW 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_IPINTERFACE_ROW vers laquelle pointe le paramètre Ligne. |
| autres | Utilisez la fonction FormatMessage pour obtenir la chaîne de message pour l’erreur retournée. |
Remarques
Lors de l’entrée, votre pilote doit initialiser les membres suivants de la structure MIB_IPINTERFACE_ROW vers laquelle pointe le paramètre Ligne.
famille
Défini sur AF_INET ou AF_INET6.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.
Lors de la sortie, GetIpInterfaceEntry renseigne les membres restants de la structure MIB_IPINTERFACE_ROW vers laquelle pointe le paramètre Row.
Votre pilote doit utiliser la fonction InitializeIpInterfaceEntry pour initialiser les champs d’une entrée de structure MIB_IPINTERFACE_ROW avec des valeurs par défaut. Un pilote peut ensuite modifier les champs de l’entrée MIB_IPINTERFACE_ROW qu’il 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 à un pilote non privilégié 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. Les systèmes d’exploitation Windows Server 2003 et Windows XP utilisent un modèle hôte faible, où le service d’accès à distance (RAS) empêche un tel accès simultané en augmentant la métrique de routage de tous les itinéraires par défaut sur d’autres interfaces. Par conséquent, tout le trafic est acheminé via l’interface VPN, ce qui interrompt d’autres connectivités réseau.
Sur Windows Vista et les versions ultérieures des systèmes d’exploitation Windows, par défaut, un modèle hôte fort est utilisé. Si une adresse IP source est spécifiée dans la recherche de routage à l’aide de la fonction GetBestRoute2, la recherche de routage est limitée à l’interface de l’adresse IP source. La modification de la métrique de routage par RAS n’a aucun effet, car la liste des itinéraires potentiels n’a même pas l’itinéraire de l’interface VPN, ce qui permet le trafic vers Internet. Votre pilote peut utiliser le DisableDefaultRoutes membre du MIB_IPINTERFACE_ROW pour désactiver l’utilisation de l’itinéraire par défaut sur une interface. Les clients VPN peuvent utiliser ce membre comme mesure de sécurité pour restreindre le tunneling fractionné lorsque le tunneling fractionné n’est pas requis par le client VPN. Un client VPN peut appeler la fonctionSetIpInterfaceEntry pour définir le membre DisableDefaultRoutes sur TRUE lorsqu’il est nécessaire. Un client VPN peut interroger l’état actuel du membre DisableDefaultRoutes en appelant la fonction GetIpInterfaceEntry.