MIB_IPFORWARDROW structure (ipmib.h)
La structure MIB_IPFORWARDROW contient des informations qui décrivent un itinéraire réseau IPv4.
Syntaxe
typedef struct _MIB_IPFORWARDROW {
DWORD dwForwardDest;
DWORD dwForwardMask;
DWORD dwForwardPolicy;
DWORD dwForwardNextHop;
IF_INDEX dwForwardIfIndex;
union {
DWORD dwForwardType;
MIB_IPFORWARD_TYPE ForwardType;
};
union {
DWORD dwForwardProto;
MIB_IPFORWARD_PROTO ForwardProto;
};
DWORD dwForwardAge;
DWORD dwForwardNextHopAS;
DWORD dwForwardMetric1;
DWORD dwForwardMetric2;
DWORD dwForwardMetric3;
DWORD dwForwardMetric4;
DWORD dwForwardMetric5;
} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
Membres
dwForwardDest
Type : DWORD
Adresse IPv4 de destination de l’itinéraire. Une entrée avec une adresse IPv4 de 0.0.0.0 est considérée comme un itinéraire par défaut. Ce membre ne peut pas être défini sur une adresse IPv4 de multidiffusion (classe D).
dwForwardMask
Type : DWORD
Masque de sous-réseau IPv4 à utiliser avec l’adresse IPv4 de destination avant d’être comparé à la valeur du membre dwForwardDest .
La valeur dwForwardMask doit être appliquée à l’adresse IPv4 de destination (logique et opération) avant une comparaison avec la valeur dans le membre dwForwardDest .
dwForwardPolicy
Type : DWORD
Ensemble de conditions qui entraînerait la sélection d’un itinéraire à plusieurs chemins (l’ensemble des tronçons suivants pour une destination donnée). Ce membre est généralement au format IP TOS. Cet encodage de ce membre est décrit dans RFC 1354. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc1354.txt.
dwForwardNextHop
Type : DWORD
Pour les itinéraires distants, adresse IPv4 du système suivant en route. Sinon, ce membre doit être une adresse IPv4 de 0.0.0.0.
dwForwardIfIndex
Type : DWORD
Index de l’interface locale via laquelle le tronçon suivant de cet itinéraire doit être atteint.
dwForwardType
Type : DWORD
Type d’itinéraire décrit dans RFC 1354. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc1354.txt.
Ce membre peut être l’une des valeurs définies dans le fichier d’en-tête Iprtmib.h .
Sur Windows Vista et versions ultérieures, les fichiers d’en-tête ont été réorganisés et ce membre peut être l’une des valeurs du type d’énumération MIB_IPFORWARD_TYPE défini dans le fichier d’en-tête Ipmib.h . Notez que l’en-tête Ipmib.h est automatiquement inclus par le fichier d’en-tête Iprtrmib.h qui est automatiquement inclus par l’en-tête Iphlpapi.h . Les fichiers d’en-tête Iprtrmib.h et Ipmib.h ne doivent jamais être utilisés directement.
La liste suivante montre les valeurs possibles pour ce membre.
ForwardType
dwForwardProto
Type : DWORD
Protocole ou mécanisme de routage qui a généré l’itinéraire, comme décrit dans RFC 1354. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc1354.txt. Consultez Identificateurs de protocole pour obtenir la liste des identificateurs de protocole possibles utilisés par les protocoles de routage.
Ce membre peut être l’une des valeurs définies dans le fichier d’en-tête Iprtmib.h . Les valeurs de ce membre peuvent être l’une des valeurs MIB_IPPROTO_xxx définies dans le fichier d’en-tête Iprtmib.h ou l’une des valeurs PROTO_IP_xxx définies dans le fichier d’en-tête routprot.h , car ces valeurs sont identiques.
Sur Windows Vista et versions ultérieures, les fichiers d’en-tête ont été réorganisés et ce membre peut être l’une des valeurs définies dans le fichier d’en-tête Nldef.h . Notez que l’en-tête Nldef.h est automatiquement inclus par le fichier d’en-tête Ipmib.h qui est automatiquement inclus par l’en-tête Iprtrmib.h . L’en-tête Iphlpapi.h inclut automatiquement le fichier d’en-tête Iprtrmib.h. Les fichiers d’en-tête Iprtrmib.h, Ipmib.h et Nldef.h ne doivent jamais être utilisés directement.
La liste suivante montre les valeurs possibles pour ce membre.
Valeur | Signification |
---|---|
|
Un autre protocole non spécifié dans RFC 1354. |
|
Interface locale. |
|
Itinéraire statique. Cette valeur est utilisée pour identifier les informations d’itinéraire pour le routage IP défini via la gestion réseau, comme le protocole DCHP (Dynamic Host Configuration Protocol), le protocole SNMP (Simple Network Management Protocol) ou par des appels aux fonctions CreateIpForwardEntry, DeleteIpForwardEntry ou SetIpForwardEntry . |
|
Résultat de la redirection ICMP. |
|
Le protocole EGP (Exterior Gateway Protocol), un protocole de routage dynamique. |
|
Le protocole GGP (Gateway-to-Gateway Protocol), un protocole de routage dynamique. |
|
Protocole Hellospeak, un protocole de routage dynamique. Il s’agit d’une entrée historique qui n’est plus utilisée et qui était un protocole de routage précoce utilisé par les routeurs ARPANET d’origine qui exécutaient un logiciel spécial appelé protocole de routage Fuzzball, parfois appelé Hellospeak, comme décrit dans RFC 891 et RFC 1305. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc891.txt et http://www.ietf.org/rfc/rfc1305.txt. |
|
Le protocole RIP (Berkeley Routing Information Protocol) ou RIP-II, un protocole de routage dynamique. |
|
Protocole is-à-système intermédiaire (IS-Intermediate System), un protocole de routage dynamique. Le protocole IS-IS a été développé pour être utilisé dans la suite de protocoles OSI (Open Systems Interconnection). |
|
Le protocole ES-IS (End System-to-Intermediate System), un protocole de routage dynamique. Le protocole ES-IS a été développé pour être utilisé dans la suite de protocoles OSI (Open Systems Interconnection). |
|
Le protocole IGRP (Cisco Interior Gateway Routing Protocol), un protocole de routage dynamique. |
|
Bolt, Beranek et Newman (BBN) Interior Gateway Protocol (IGP) qui utilisait l’algorithme SPF (Shortest Path First). Il s’agissait d’un premier protocole de routage dynamique. |
|
Le protocole OSPF (Open Shortest Path First), un protocole de routage dynamique. |
|
Le protocole BGP (Border Gateway Protocol), un protocole de routage dynamique. |
|
Entrée spécifique à Windows ajoutée à l’origine par un protocole de routage, mais qui est maintenant statique. |
|
Entrée spécifique à Windows ajoutée en tant qu’itinéraire statique à partir de l’interface utilisateur de routage ou d’une commande de routage. |
|
Une entrée spécifique à Windows ajoutée en tant qu’itinéraire statique à partir de l’interface utilisateur de routage ou d’une commande de routage, sauf que ces itinéraires ne provoquent pas la numérotation à la demande (DOD). |
ForwardProto
dwForwardAge
Type : DWORD
Nombre de secondes depuis l’ajout ou la modification de l’itinéraire dans la table de routage réseau.
dwForwardNextHopAS
Type : DWORD
Numéro de système autonome du tronçon suivant. Lorsque ce membre est inconnu ou non pertinent pour le protocole ou le mécanisme de routage spécifié dans dwForwardProto, cette valeur doit être définie sur zéro. Cette valeur est documentée dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric1
Type : DWORD
Valeur de métrique de routage principale pour cet itinéraire. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre dwForwardProto . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric2
Type : DWORD
Autre valeur de métrique de routage pour cet itinéraire. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre dwForwardProto . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric3
Type : DWORD
Autre valeur de métrique de routage pour cet itinéraire. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre dwForwardProto . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric4
Type : DWORD
Autre valeur de métrique de routage pour cet itinéraire. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre dwForwardProto . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric5
Type : DWORD
Autre valeur de métrique de routage pour cet itinéraire. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre dwForwardProto . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans RFC 1354. Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc1354.txt
Notes
La fonction GetIpForwardTable énumère les entrées de route IPv4 sur un système local et retourne ces informations dans une structure MIB_IPFORWARDTABLE qui contient un tableau d’entrées de structure MIB_IPFORWARDROW .
Les membres dwForwardDest, dwForwardMask et dwForwardNextHop de la structure MIB_IPFORWARDROW représentent des adresses IPv4 dans l’ordre d’octet du réseau.
Le membre dwForwardProto de la structure MIB_IPFORWARDROW spécifie le protocole ou le mécanisme de routage qui a généré l’itinéraire. Les identificateurs de protocole de routage sont utilisés pour identifier les informations d’itinéraire pour le protocole de routage spécifié. Par exemple, MIB_IPPROTO_NETMGMT est utilisé pour identifier les informations de routage IP définies par le biais de la gestion réseau, comme le protocole DCHP (Dynamic Host Configuration Protocol), le protocole SNMP (Simple Network Management Protocol) ou par des appels aux fonctions CreateIpForwardEntry, DeleteIpForwardEntry ou SetIpForwardEntry . Pour obtenir la liste des protocoles et des mécanismes de routage possibles, consultez Identificateurs de protocole.
Une adresse IPv4 de 0.0.0.0 dans le membre dwForwardDest de la structure MIB_IPFORWARDROW est considérée comme un itinéraire par défaut. Le MIB_IPFORWARDTABLE peut contenir plusieurs entrées MIB_IPFORWARDROW avec le membre dwForwardDest défini sur 0.0.0.0 quand plusieurs cartes réseau sont installées.
Lorsque dwForwardAge est défini sur INFINITE, l’itinéraire n’est pas supprimé en fonction d’un délai d’expiration
Valeur. Toute autre valeur pour dwForwardAge spécifie le nombre de secondes depuis l’ajout ou la modification de l’itinéraire dans la table de routage réseau.
Sur Windows Server 2003 ou Windows 2000 Server lorsque le service de routage et d’accès à distance (RRAS) est en cours d’exécution, les entrées MIB_IPFORWARDROW retournées ont les membres dwForwardType et dwForwardAge définis sur zéro.
Sur Windows Vista et Windows Server 2008, la métrique d’itinéraire spécifiée dans le membre dwForwardMetric1 de la structure MIB_IPFORWARDROW représente une combinaison de la métrique d’itinéraire ajoutée à la métrique d’interface spécifiée dans le membre Métrique de la structure MIB_IPINTERFACE_ROW de l’interface associée. Par conséquent, le membre dwForwardMetric1 de la structure MIB_IPFORWARDROW doit être égal ou supérieur au membre Metric de la structure MIB_IPINTERFACE_ROW associée. Si une application souhaite définir la métrique d’itinéraire sur 0, le membre dwForwardMetric1 de la structure MIB_IPFORWARDROW doit être défini sur la valeur de la métrique d’interface spécifiée dans le membre Metric de la structure MIB_IPINTERFACE_ROW associée. Une application peut récupérer la métrique d’interface en appelant la fonction GetIpInterfaceEntry .
Un certain nombre de membres de la structure MIB_IPFORWARDROW ne sont actuellement pas utilisés par le routage IPv4. Ces membres incluent dwForwardPolicy, dwForwardNextHopAS, dwForwardMetric2, dwForwardMetric3, dwForwardMetric4 et dwForwardMetric5.
Dans le Kit de développement logiciel (SDK) Microsoft Windows publié pour Windows Vista et versions ultérieures, la organization des fichiers d’en-tête a changé. Cette structure est définie dans le fichier d’en-tête Ipmib.h , et non dans le fichier d’en-tête Iprtrmib.h . Notez que le fichier d’en-tête Ipmib.h est automatiquement inclus dans Iprtrmib.h, qui est automatiquement inclus dans le fichier d’en-tête Iphlpapi.h . Les fichiers d’en-tête Ipmib.h et Iprtrmib.h ne doivent jamais être utilisés directement.
Exemples
Pour afficher un exemple qui récupère la structure MIB_IPFORWARDTABLE , puis imprime les entrées de structure MIB_IPFORWARDROW dans cette table, consultez la fonction GetIpForwardTable .
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | ipmib.h (include Iphlpapi.h) |