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の
GetIpForwardEntry2の
GetIpForwardTable2の