次の方法で共有


SetIpForwardEntry2 関数

SetIpForwardEntry2 関数は、ローカル コンピューター上の IP ルート エントリのプロパティを設定します。

構文

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

パラメーター

  • ルート [in]
    IP ルート エントリの MIB_IPFORWARD_ROW2 構造体エントリへのポインター。 ドライバーは、MIB_IPFORWARD_ROW2構造体の DestinationPrefix メンバーを有効な IP 宛先プレフィックスとファミリに設定し、MIB_IPFORWARD_ROW2の NextHop メンバーを有効な IP アドレスとファミリに設定し、MIB_IPFORWARD_ROW2の InterfaceLuid メンバーまたは InterfaceIndex メンバーを指定する必要があります。

戻り値

SetIpForwardEntry2 、関数が成功した場合にSTATUS_SUCCESSを返します。

関数が失敗した場合、SetIpForwardEntry2 は次のいずれかのエラー コードを返します。

リターン コード 形容
STATUS_INVALID_PARAMETER

無効なパラメーターが関数に渡されました。 このエラーは、Route パラメーターで NULL ポインターが渡された場合に返されます。Route パラメーターが指す MIB_IPFORWARD_ROW2 構造体の DestinationPrefix メンバーが指定されていない場合、MIB_IPFORWARD_ROW2構造体の NextHop メンバーが指定されていません。 または、MIB_IPFORWARD_ROW2構造体の interfaceLuid メンバーと InterfaceIndex メンバーの両方 指定されていません。

STATUS_NOT_FOUND

指定されたインターフェイスが見つかりませんでした。 このエラーは、Route パラメーターが指すMIB_IPFORWARD_ROW2構造体の InterfaceLuid または InterfaceIndex メンバーによって指定されたネットワーク インターフェイスが見つからない場合に返されます。

その他の

FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。

備考

SetIpForwardEntry2 関数は、ローカル コンピューター上の既存の IP ルート エントリのプロパティを設定するために使用されます。

ドライバーは、Row パラメーターが指す MIB_IPFORWARD_ROW2 構造体の次のメンバーを初期化する必要があります。

  • DestinationPrefix
    有効な IPv4 または IPv6 アドレス プレフィックスとファミリに設定します。

  • NextHop する
    有効な IPv4 または IPv6 アドレスとファミリに設定します。

  • InterfaceLuid または InterfaceIndex する
    これらのメンバーは、前に示した順序で使用されます。 そのため、InterfaceLuid 指定した場合、このメンバーを使用してインターフェイスが決定されます。 InterfaceLuid メンバーに値が設定されていない場合 (このメンバーの値が 0 に設定されました)、インターフェイスを決定するために、InterfaceIndex メンバーが次に使用されます。

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

SetIpForwardEntry2 は、Row パラメーターが指すMIB_IPFORWARD_ROW2構造体の Age および Origin メンバーを無視します。 これらのメンバーはネットワーク スタックによって設定され、SetIpForwardEntry2 関数を使用して変更することはできません。

SetIpForwardEntry2 関数は、DestinationPrefix と、Route パラメーターが指定したインターフェイスの IP ルート エントリと一致しないことを示すMIB_IPFORWARD_ROW2構造体のメンバー NextHop を すると失敗します。

必要条件

ターゲット プラットフォーム

ユニバーサル

バージョン

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。

ヘッダ

Netioapi.h (Netioapi.h を含む)

図書館

Netio.lib

IRQL

< DISPATCH_LEVEL

関連項目

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2