MIB_IPFORWARD_ROW2 構造体 (netioapi.h)

MIB_IPFORWARD_ROW2構造体には、IP ルート エントリに関する情報が格納されます。

構文

typedef struct _MIB_IPFORWARD_ROW2 {
  NET_LUID          InterfaceLuid;
  NET_IFINDEX       InterfaceIndex;
  IP_ADDRESS_PREFIX DestinationPrefix;
  SOCKADDR_INET     NextHop;
  UCHAR             SitePrefixLength;
  ULONG             ValidLifetime;
  ULONG             PreferredLifetime;
  ULONG             Metric;
  NL_ROUTE_PROTOCOL Protocol;
  BOOLEAN           Loopback;
  BOOLEAN           AutoconfigureAddress;
  BOOLEAN           Publish;
  BOOLEAN           Immortal;
  ULONG             Age;
  NL_ROUTE_ORIGIN   Origin;
} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;

メンバー

InterfaceLuid

種類: NET_LUID

この IP ルート エントリに関連付けられているネットワーク インターフェイスのローカル一意識別子 (LUID)。

InterfaceIndex

種類: NET_IFINDEX

この IP ルート エントリに関連付けられているネットワーク インターフェイスのローカル インデックス値。 このインデックス値は、ネットワーク アダプターを無効にしてから有効にした場合、またはその他の状況で変更される可能性があり、永続的と見なすべきではありません。

DestinationPrefix

種類: IP_ADDRESS_PREFIX

このルートの宛先 IP アドレスの IP アドレス プレフィックス。

NextHop

種類: SOCKADDR_INET

リモート ルートの場合は、次のシステムまたはゲートウェイの IP アドレスです。 ローカル ループバック アドレスまたはローカル リンク上の IP アドレスへのルートの場合、次ホップは指定されていません (すべて 0)。 ローカル ループバック ルートの場合、このメンバーは IPv4 ルート エントリの場合は 0.0.0.0 の IPv4 アドレス、IPv6 ルート エントリの場合は IPv6 アドレス 0::0 である必要があります。

SitePrefixLength

種類: UCHAR

このルートの IP アドレスのサイト プレフィックスまたはネットワーク部分の長さ (ビット単位)。 IPv4 ルート エントリの場合、32 より大きい値は無効な値です。 IPv6 ルート エントリの場合、128 より大きい値は無効な値です。 値 255 は、一般的に無効な値を表すために使用されます。

ValidLifetime

種類: ULONG

IP ルート エントリが有効な最大時間 (秒単位)。 0xffffffffの値は無限であると見なされます。

PreferredLifetime

種類: ULONG

IP ルート エントリが有効な優先時間 (秒単位)。 0xffffffffの値は無限であると見なされます。

Metric

種類: ULONG

この IP ルート エントリのルート メトリック オフセット値。 ルート設定の計算に使用される実際のルート メトリックは、MIB_IPINTERFACE_ROW構造体の Metric メンバーで指定されたインターフェイス メトリックと、このメンバーで指定されたルート メトリック オフセットの合計であることに注意してください。 このメトリックのセマンティクスは、 Protocol メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 4292 に記載されています。 詳細については、「http://www.ietf.org/rfc/rfc4292.txt」を参照してください。

Protocol

種類: NL_ROUTE_PROTOCOL

この IP ルートがどのように追加されたかを示すルーティング メカニズム。 このメンバーには、Nldef.h ヘッダー ファイルで定義されているNL_ROUTE_PROTOCOL列挙型の値のいずれかを指定できます。 メンバーは RFC 4292 で説明されています。 詳細については、「http://www.ietf.org/rfc/rfc4292.txt」を参照してください。

Nldef.h ヘッダーは、Iprtrmib.h ヘッダーによって自動的に含まれる Ipmib.h ヘッダー ファイルによって自動的に含まれることに注意してください。 Iphlpapi.h ヘッダーには、Iprtrmib.h ヘッダー ファイルが自動的に含まれます。 Iprtrmib.hIpmib.hおよび Nldef.h ヘッダー ファイルを直接使用しないでください。

次の一覧は、このメンバーで使用できる値を示しています。

意味
MIB_IPPROTO_OTHER
1
ルーティング メカニズムが指定されていません。
MIB_IPPROTO_LOCAL
2
ローカル インターフェイス。
MIB_IPPROTO_NETMGMT
3
静的ルート。 この値は、動的ホスト構成プロトコル (DCHP)、簡易ネットワーク管理プロトコル (SNMP)、または CreateIpForwardEntry2、DeleteIpForwardEntry2、または SetIpForwardEntry2 関数の呼び出しによって、ネットワーク管理によって設定された IP ルーティングのルート情報を識別するために使用されます。
MIB_IPPROTO_ICMP
4
ICMP リダイレクトの結果。
MIB_IPPROTO_EGP
5
外部ゲートウェイ プロトコル (EGP)、動的ルーティング プロトコル。
MIB_IPPROTO_GGP
6
動的ルーティング プロトコルであるゲートウェイ間プロトコル (GGP)。
MIB_IPPROTO_HELLO
7
Hellospeak プロトコル。動的ルーティング プロトコルです。 これは、使用されなくなった履歴エントリであり、RFC 891 と RFC 1305 で説明されているように、Fuzzball ルーティング プロトコル (Hellospeak とも呼ばれます) と呼ばれる特別なソフトウェアを実行した、元の ARPANET ルーターによって使用された初期のルーティング プロトコルでした。 詳細については、次のトピックを参照してください。 http://www.ietf.org/rfc/rfc891.txt および http://www.ietf.org/rfc/rfc1305.txt
MIB_IPPROTO_RIP
8
自動ルーティング情報プロトコル (RIP) または RIP-II (動的ルーティング プロトコル)。
MIB_IPPROTO_IS_IS
9
中間システム間 (IS-IS) プロトコル(動的ルーティング プロトコル)。 IS-IS プロトコルは、Open Systems Interconnection (OSI) プロトコル スイートで使用するために開発されました。
MIB_IPPROTO_ES_IS
10
動的ルーティング プロトコルであるエンド システムから中間システム (ES-IS) プロトコル。 ES-IS プロトコルは、Open Systems Interconnection (OSI) プロトコル スイートで使用するために開発されました。
MIB_IPPROTO_CISCO
11
ダイナミック ルーティング プロトコルである Cisco Interior Gateway Routing Protocol (IGRP)。
MIB_IPPROTO_BBN
12
最短パスファースト (SPF) アルゴリズムを使用した Bolt、Beranek、および Newman (BBN) Interior Gateway Protocol (IGP)。 これは初期の動的ルーティング プロトコルでした。
MIB_IPPROTO_OSPF
13
Open Shortest Path First (OSPF) プロトコル (動的ルーティング プロトコル)。
MIB_IPPROTO_BGP
14
ボーダー ゲートウェイ プロトコル (BGP)、動的ルーティング プロトコル。
MIB_IPPROTO_NT_AUTOSTATIC
10002
ルーティング プロトコルによって最初に追加された Windows 固有のエントリですが、現在は静的です。
MIB_IPPROTO_NT_STATIC
10006
ルーティング ユーザー インターフェイスまたはルーティング コマンドから静的ルートとして追加された Windows 固有のエントリ。
MIB_IPPROTO_NT_STATIC_NON_DOD
10007
これらのルートを除き、ルーティング ユーザー インターフェイスまたはルーティング コマンドから静的ルートとして追加された Windows 固有のエントリでは、ダイヤル オンデマンド (DOD) は発生しません。

Loopback

型: BOOLEAN

ルートがループバック ルート (ゲートウェイがローカル ホスト上にある) かどうかを示す 値です。

AutoconfigureAddress

型: BOOLEAN

IP アドレスが自動構成されているかどうかを示す 値。

Publish

型: BOOLEAN

ルートが発行されるかどうかを示す 値。

Immortal

型: BOOLEAN

ルートが不滅かどうかを示す 値です。

Age

種類: ULONG

ネットワーク ルーティング テーブルでルートが追加または変更されてからの秒数。

Origin

種類: NL_ROUTE_ORIGIN

ルートの起点。 このメンバーには、Nldef.h ヘッダー ファイルで定義されているNL_ROUTE_ORIGIN列挙型の値のいずれかを指定できます。

意味
NlroManual
0
手動構成の結果。
NlroWellKnown
1
既知のルート。
NlroDHCP
2
DHCP 構成の結果。
NlroRouterAdvertisement
3
ルーターアドバタイズの結果。
Nlro6to4
4
6to4 トンネリングの結果。

注釈

MIB_IPFORWARD_ROW2構造は、Windows Vista 以降で定義されています。

GetIpForwardTable2 関数は、ローカル システム上の IP ルート エントリを列挙し、この情報をMIB_IPFORWARD_ROW2エントリの配列としてMIB_IPFORWARD_TABLE2構造体で返します。

GetIpForwardEntry2 関数は、単一の IP ルート エントリを取得し、この情報をMIB_IPFORWARD_ROW2構造体で返します。

MIB_IPFORWARD_ROW2構造体のDestinationPrefix メンバーで、IP_ADDRESS_PREFIXPrefix メンバーと PrefixLength メンバーが 0 に設定されたエントリは、既定のルートと見なされます。 MIB_IPFORWARD_TABLE2には、複数のネットワーク アダプターインストールされている場合、DestinationPrefix メンバーの Prefix メンバーと IP_ADDRESS_PREFIX PrefixLength メンバー DestinationPrefix メンバーに 0 に設定された複数のMIB_IPFORWARD_ROW2 エントリが含まれる場合があります。

MIB_IPFORWARD_ROW2 エントリの Metric メンバーは、そのルートの使用に関連付けられているコストを識別する特定のネットワーク インターフェイスの IP ルートに割り当てられる値です。 たとえば、メトリックは、リンク速度、ホップ数、または遅延時間の観点から評価できます。 自動メトリックは、リンク速度に基づいてローカル ルートのメトリックを自動的に構成する Windows XP 以降の機能です。 Windows XP 以降では、自動メトリック機能が既定で有効になっています (MIB_IPINTERFACE_ROW構造体の UseAutomaticMetric メンバーは TRUE に設定されています)。 また、IP ルートに特定のメトリックを割り当てるために手動で構成することもできます。

MIB_IPFORWARD_ROW2構造体の Metric メンバーで指定されたルート メトリックは、ルート メトリック オフセットのみを表します。 完全なメトリックは、関連付けられたインターフェイスのMIB_IPINTERFACE_ROW構造の Metric メンバーで指定されたインターフェイス メトリックに追加された、このルート メトリック オフセットの組み合わせです。 アプリケーションは、 GetIpInterfaceEntry 関数を呼び出すことによってインターフェイス メトリックを取得できます。

Netioapi.h ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルに自動的に含まれることに注意してください。 Netioapi.h ヘッダー ファイルを直接使用しないでください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header netioapi.h (Iphlpapi.h を含む)

こちらもご覧ください

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

IP_ADDRESS_PREFIX

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

SOCKADDR_INET

SetIpForwardEntry2