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 アドレスの 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.h、Ipmib.h、および Nldef.h ヘッダー ファイルを直接使用しないでください。
次の一覧は、このメンバーで使用できる値を示しています。
値 | 意味 |
---|---|
|
ルーティング メカニズムが指定されていません。 |
|
ローカル インターフェイス。 |
|
静的ルート。 この値は、動的ホスト構成プロトコル (DCHP)、簡易ネットワーク管理プロトコル (SNMP)、または CreateIpForwardEntry2、DeleteIpForwardEntry2、または SetIpForwardEntry2 関数の呼び出しによって、ネットワーク管理によって設定された IP ルーティングのルート情報を識別するために使用されます。 |
|
ICMP リダイレクトの結果。 |
|
外部ゲートウェイ プロトコル (EGP)、動的ルーティング プロトコル。 |
|
動的ルーティング プロトコルであるゲートウェイ間プロトコル (GGP)。 |
|
Hellospeak プロトコル。動的ルーティング プロトコルです。 これは、使用されなくなった履歴エントリであり、RFC 891 と RFC 1305 で説明されているように、Fuzzball ルーティング プロトコル (Hellospeak とも呼ばれます) と呼ばれる特別なソフトウェアを実行した、元の ARPANET ルーターによって使用された初期のルーティング プロトコルでした。 詳細については、次のトピックを参照してください。 http://www.ietf.org/rfc/rfc891.txt および http://www.ietf.org/rfc/rfc1305.txt |
|
自動ルーティング情報プロトコル (RIP) または RIP-II (動的ルーティング プロトコル)。 |
|
中間システム間 (IS-IS) プロトコル(動的ルーティング プロトコル)。 IS-IS プロトコルは、Open Systems Interconnection (OSI) プロトコル スイートで使用するために開発されました。 |
|
動的ルーティング プロトコルであるエンド システムから中間システム (ES-IS) プロトコル。 ES-IS プロトコルは、Open Systems Interconnection (OSI) プロトコル スイートで使用するために開発されました。 |
|
ダイナミック ルーティング プロトコルである Cisco Interior Gateway Routing Protocol (IGRP)。 |
|
最短パスファースト (SPF) アルゴリズムを使用した Bolt、Beranek、および Newman (BBN) Interior Gateway Protocol (IGP)。 これは初期の動的ルーティング プロトコルでした。 |
|
Open Shortest Path First (OSPF) プロトコル (動的ルーティング プロトコル)。 |
|
ボーダー ゲートウェイ プロトコル (BGP)、動的ルーティング プロトコル。 |
|
ルーティング プロトコルによって最初に追加された Windows 固有のエントリですが、現在は静的です。 |
|
ルーティング ユーザー インターフェイスまたはルーティング コマンドから静的ルートとして追加された Windows 固有のエントリ。 |
|
これらのルートを除き、ルーティング ユーザー インターフェイスまたはルーティング コマンドから静的ルートとして追加された Windows 固有のエントリでは、ダイヤル オンデマンド (DOD) は発生しません。 |
Loopback
型: BOOLEAN
ルートがループバック ルート (ゲートウェイがローカル ホスト上にある) かどうかを示す 値です。
AutoconfigureAddress
型: BOOLEAN
IP アドレスが自動構成されているかどうかを示す 値。
Publish
型: BOOLEAN
ルートが発行されるかどうかを示す 値。
Immortal
型: BOOLEAN
ルートが不滅かどうかを示す 値です。
Age
種類: ULONG
ネットワーク ルーティング テーブルでルートが追加または変更されてからの秒数。
Origin
種類: NL_ROUTE_ORIGIN
ルートの起点。 このメンバーには、Nldef.h ヘッダー ファイルで定義されているNL_ROUTE_ORIGIN列挙型の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
手動構成の結果。 |
|
既知のルート。 |
|
DHCP 構成の結果。 |
|
ルーターアドバタイズの結果。 |
|
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_PREFIXの Prefix メンバーと 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 を含む) |