MIB_IPFORWARD_ROW2 構造体
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
この IP ルート エントリに関連付けられているネットワーク インターフェイスのローカル一意識別子 (LUID)。InterfaceIndex
この IP ルート エントリに関連付けられているネットワーク インターフェイスのローカル インデックス値。 このインデックス値は、ネットワーク アダプターを無効にしてから有効にした場合、またはその逆を行った場合に変更される可能性があり、永続的と見なすべきではありません。DestinationPrefix
このルートの宛先 IP アドレスの IP アドレス プレフィックス。NextHop
リモート ルートの場合、ルートに沿った次のシステムまたはゲートウェイの IP アドレス。 ローカル ループバック アドレスまたはローカル リンク上の IP アドレスへのルートの場合、ネクスト ホップは指定されません (すべてゼロ)。 ローカル ループバック ルートの場合、このメンバーは IPv4 ルート エントリに対しては 0.0.0.0 という IPv4 アドレスに、IPv6 ルート エントリに対しては 0::0 という IPv6 アドレスにする必要があります。SitePrefixLength
このルートの IP アドレスのサイト プレフィックスまたはネットワーク部分の長さ (ビット単位)。 IPv4 ルート エントリの場合、32 より大きい値は無効な値です。 IPv6 ルート エントリの場合、128 より大きい値は無効な値です。 通常、255 という値は無効な値を表すために使用されます。ValidLifetime
IP ルート エントリが有効な最大時間 (秒単位)。 0xffffffff という値は無限であると見なされます。PreferredLifetime
IP ルート エントリが有効な優先時間 (秒単位)。 0xffffffff という値は無限であると見なされます。メトリック
この IP ルート エントリのルート メトリック オフセット値。 ルート設定の計算に使用される実際のルート メトリックは、この Metric メンバーで指定されるルート メトリック オフセットに追加された MIB_IPINTERFACE_ROW 構造体の Metric メンバーで指定されているインターフェイス メトリックであることにご注意ください。 このメトリックのセマンティクスは、Protocol メンバーで指定されているルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 4292 に記載されています。 詳細については、「IP 転送テーブル MIB」を参照してください。プロトコル
この IP ルートが追加された NL_ROUTE_PROTOCOL ルーティング メカニズムの種類。Loopback
ルートがループバック ルート (ゲートウェイがローカル ホスト上にある) かどうかを指定する値。AutoconfigureAddress
IP アドレスが自動構成されているかどうかを示す値。発行
ルートが発行されるかどうかを指定する値。Immortal
ルートが不変かどうかを指定する値。年齢
ネットワーク ルーティング テーブルでルートが追加または変更されてからの秒数。元のドメイン
NL_ROUTE_ORIGIN IP ルートの配信元の種類。
解説
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 で IP_ADDRESS_PREFIX の Prefix メンバーと PrefixLength メンバーが 0 に設定されている複数の MIB_IPFORWARD_ROW2 エントリが含まれる場合があります。
IB_IPFORWARD_ROW2 エントリの Metric メンバーは、特定のネットワーク インターフェイスの IP ルートに割り当てられる値であり、そのルートの使用に関連するコストを確認できます。 たとえば、このメトリックは、リンク速度、ホップ数、または遅延時間の観点から評価できます。 自動メトリックは、リンク速度に基づいてローカル ルートのメトリックを自動的に構成する Windows XP 以降のバージョンの Windows オペレーティング システムの機能です。 既定では、Windows XP 以降では、自動メトリック機能が有効になっています (MIB_IPINTERFACE_ROW 構造体の UseAutomaticMetric メンバーが TRUE に設定されています)。 この機能を手動で構成して、特定のメトリックを IP ルートに割り当てることもできます。
MIB_IPFORWARD_ROW2 構造体の Metric メンバーで指定されているルート メトリック は、ルート メトリック オフセットのみを表します。 完全なメトリックは、関連付けられているインターフェイスの MIB_IPINTERFACE_ROW 構造体の Metric メンバーで指定されているインターフェイス メトリックに、このルート メトリック オフセットを追加してできる組み合わせです。 ドライバーは、GetIpInterfaceEntry 関数を呼び出すと、インターフェイス メトリックを取得できます。
要件
バージョン |
Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー |
Netioapi.h (Netioapi.h を含む) |