次の方法で共有


MIB_IPFORWARDROW構造体 (ipmib.h)

MIB_IPFORWARDROW構造体には、IPv4 ネットワーク ルートを記述する情報が含まれています。

構文

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;

メンバー

dwForwardDest

型: DWORD

ルートの宛先 IPv4 アドレス。 IPv4 アドレスが 0.0.0.0 のエントリは、既定のルートと見なされます。 このメンバーをマルチキャスト (クラス D) IPv4 アドレスに設定することはできません。

dwForwardMask

型: DWORD

dwForwardDest メンバーの値と比較する前に、宛先 IPv4 アドレスで使用する IPv4 サブネット マスク。

dwForwardMask 値は、dwForwardDest メンバーの値と比較する前に、宛先 IPv4 アドレス (論理および操作) に適用する必要があります。

dwForwardPolicy

型: DWORD

マルチパス ルート (特定の宛先のネクスト ホップのセット) の選択を引き起こす条件のセット。 このメンバーは通常、IP TOS 形式です。 このメンバーのエンコードについては、RFC 1354 を参照してください。 詳細については、「http://www.ietf.org/rfc/rfc1354.txt」を参照してください。

dwForwardNextHop

型: DWORD

リモート ルートの場合は、次のシステムの IPv4 アドレスがルートです。 それ以外の場合、このメンバーは 0.0.0.0 の IPv4 アドレスである必要があります。

dwForwardIfIndex

型: DWORD

このルートのネクスト ホップに到達する必要があるローカル インターフェイスのインデックス。

dwForwardType

型: DWORD

RFC 1354 で説明されているルートの種類。 詳細については、「http://www.ietf.org/rfc/rfc1354.txt」を参照してください。

このメンバーは、 Iprtmib.h ヘッダー ファイルで定義されている値のいずれかになります。

Windows Vista 以降では、ヘッダー ファイルが再構成され、このメンバーは Ipmib.h ヘッダー ファイルで定義されているMIB_IPFORWARD_TYPE列挙型の値のいずれかになります。 Ipmib.h ヘッダーは、Iphlpapi.h ヘッダーによって自動的に含まれる Iprtrmib.h ヘッダー ファイルによって自動的に含まれることに注意してください。 Iprtrmib.h ヘッダー ファイルと Ipmib.h ヘッダー ファイルを直接使用しないでください。

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

説明
MIB_IPROUTE_TYPE_OTHER
1
RFC 1354 で指定されていないその他の型。
MIB_IPROUTE_TYPE_INVALID
2
無効なルート。 この値は、ICMP リダイレクトによって追加されたルートに起因する可能性があります。
MIB_IPROUTE_TYPE_DIRECT
3
次ホップが最終的な宛先 (ローカル インターフェイス) であるローカル ルート。
MIB_IPROUTE_TYPE_INDIRECT
4
次ホップが最終宛先 (リモート宛先) ではないリモート ルート。

ForwardType

dwForwardProto

型: DWORD

RFC 1354 で説明されているようにルートを生成したプロトコルまたはルーティング メカニズム。 詳細については、「http://www.ietf.org/rfc/rfc1354.txt」を参照してください。 ルーティング プロトコルで 使用される可能性のあるプロトコル識別子の一覧については、「プロトコル識別子」を参照してください。

このメンバーは、 Iprtmib.h ヘッダー ファイルで定義されている値のいずれかになります。 このメンバーの値は、 Iprtmib.h ヘッダー ファイルで定義されているMIB_IPPROTO_xxx値のいずれか、または routprot.h ヘッダー ファイルで定義されているPROTO_IP_xxx値のいずれかになります。これらの値は同じであるためです。

Windows Vista 以降では、ヘッダー ファイルが再構成され、このメンバーは Nldef.h ヘッダー ファイルで定義されている値のいずれかになります。 Nldef.h ヘッダーは、Iprtrmib.h ヘッダーによって自動的に含まれる Ipmib.h ヘッダー ファイルによって自動的に含まれることに注意してください。 Iphlpapi.h ヘッダーには、Iprtrmib.h ヘッダー ファイルが自動的に含まれます。 Iprtrmib.hIpmib.hNldef.h ヘッダー ファイルを直接使用しないでください。

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

説明
MIB_IPPROTO_OTHER
1
RFC 1354 で指定されていないその他のプロトコル。
MIB_IPPROTO_LOCAL
2
ローカル インターフェイス。
MIB_IPPROTO_NETMGMT
3
静的ルート。 この値は、動的ホスト構成プロトコル (DCHP)、簡易ネットワーク管理プロトコル (SNMP) などのネットワーク管理、または CreateIpForwardEntry、DeleteIpForwardEntry、または SetIpForwardEntry 関数の呼び出しによって設定された 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 ルーティング プロトコル(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) は発生しません。

ForwardProto

dwForwardAge

型: DWORD

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

dwForwardNextHopAS

型: DWORD

次ホップの自律システム番号。 このメンバーが不明な場合、または dwForwardProto で指定されたプロトコルまたはルーティング メカニズムに関連しない場合は、この値を 0 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

dwForwardMetric1

型: DWORD

このルートのプライマリ ルーティング メトリック値。 このメトリックのセマンティクスは、 dwForwardProto メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

dwForwardMetric2

型: DWORD

このルートの代替ルーティング メトリック値。 このメトリックのセマンティクスは、 dwForwardProto メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

dwForwardMetric3

型: DWORD

このルートの代替ルーティング メトリック値。 このメトリックのセマンティクスは、 dwForwardProto メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

dwForwardMetric4

型: DWORD

このルートの代替ルーティング メトリック値。 このメトリックのセマンティクスは、 dwForwardProto メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

dwForwardMetric5

型: DWORD

このルートの代替ルーティング メトリック値。 このメトリックのセマンティクスは、 dwForwardProto メンバーで指定されたルーティング プロトコルによって決まります。 このメトリックを使用しない場合は、その値を -1 に設定する必要があります。 この値は RFC 1354 に記載されています。 詳細については、http://www.ietf.org/rfc/rfc1354.txt を参照してください。

解説

GetIpForwardTable 関数は、ローカル システム上の IPv4 ルート エントリを列挙し、構造体エントリの配列を含むMIB_IPFORWARDTABLE構造体でこの情報MIB_IPFORWARDROW返します。

MIB_IPFORWARDROW構造体の dwForwardDestdwForwardMaskdwForwardNextHop の各メンバーは、ネットワーク のバイト順で IPv4 アドレスを表します。

MIB_IPFORWARDROW構造体の dwForwardProto メンバーは、ルートを生成したプロトコルまたはルーティング メカニズムを指定します。 ルーティング プロトコル識別子は、指定されたルーティング プロトコルのルート情報を識別するために使用されます。 たとえば、MIB_IPPROTO_NETMGMTは、動的ホスト構成プロトコル (DCHP)、簡易ネットワーク管理プロトコル (SNMP)、CreateIpForwardEntry、DeleteIpForwardEntryまたは SetIpForwardEntry 関数の呼び出しによって、 ネットワーク管理によって設定された IP ルーティングのルート情報を識別するために使用されます。 使用可能なプロトコルとルーティング メカニズムの一覧については、「プロトコル識別子」を参照してください。

MIB_IPFORWARDROW構造体の dwForwardDest メンバー内の 0.0.0.0 の IPv4 アドレスは、既定のルートと見なされます。 MIB_IPFORWARDTABLEには、複数のネットワーク アダプターインストールされている場合、dwForwardDest メンバーが 0.0.0.0 に設定された複数のMIB_IPFORWARDROW エントリが含まれる場合があります。

dwForwardAgeINFINITE に設定されている場合、タイムアウトに基づいてルートは削除されません

値を表します。 dwForwardAge のその他の値は、ネットワーク ルーティング テーブルでルートが追加または変更されてからの秒数を指定します。

ルーティングおよびリモート アクセス サービス (RRAS) が実行されている Windows Server 2003 または Windows 2000 Server では、返される MIB_IPFORWARDROW エントリの dwForwardType メンバーと dwForwardAge メンバーが 0 に設定されます。

Windows Vista および Windows Server 2008 では、MIB_IPFORWARDROW構造体の dwForwardMetric1 メンバーで指定されたルート メトリックは、関連付けられたインターフェイスの MIB_IPINTERFACE_ROW 構造体の Metric メンバーで指定されたインターフェイス メトリックに追加されたルート メトリックの組み合わせを表します。 そのため、MIB_IPFORWARDROW構造体の dwForwardMetric1 メンバーは、関連付けられているMIB_IPINTERFACE_ROW構造体の Metric メンバー以上である必要があります。 アプリケーションでルート メトリックを 0 に設定する場合は、MIB_IPFORWARDROW構造体の dwForwardMetric1 メンバーを、関連付けられているMIB_IPINTERFACE_ROW構造体の Metric メンバーで指定されたインターフェイス メトリックの値と等しく設定する必要があります。 アプリケーションは、 GetIpInterfaceEntry 関数を呼び出すことによってインターフェイス メトリックを取得できます。

MIB_IPFORWARDROW構造体のメンバーの数は、現在、IPv4 ルーティングでは使用されていません。 これらのメンバーには、 dwForwardPolicydwForwardNextHopASdwForwardMetric2dwForwardMetric3dwForwardMetric4dwForwardMetric5 が含まれます。

Windows Vista 以降用にリリースされた Microsoft Windows ソフトウェア開発キット (SDK) では、ヘッダー ファイルのorganizationが変更されました。 この構造体は 、Iprtrmib.h ヘッダー ファイルではなく、 Ipmib.h ヘッダー ファイルで定義されます。 Ipmib.h ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルに自動的に含まれる Iprtrmib.h に自動的に含まれることに注意してください。 Ipmib.h および Iprtrmib.h ヘッダー ファイルを直接使用しないでください。

MIB_IPFORWARDTABLE構造体を取得し、この表のMIB_IPFORWARDROW構造体エントリを出力する例を表示するには、GetIpForwardTable 関数を参照してください。

要件

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

関連項目

CreateIpForwardEntry

DeleteIpForwardEntry

GetIpForwardTable

GetIpInterfaceEntry

MIB_IPFORWARDTABLE

MIB_IPINTERFACE_ROW

プロトコル識別子

SetIpForwardEntry