SetIpForwardEntry

SetIpForwardEntry 関数は、ローカルコンピュータの IPv4 ルーティングテーブル内の既存経路を変更する。

SetIpForwardEntry pRoute

pRoute : [var] 既存経路の新しい情報を指定する MIB_IPFORWARDROW 構造体へのポインタ。呼び出し元はこの構造体の dwForwardProto に MIB_IPPROTO_NETMGMT を指定しなければならず、さらに dwForwardIfIndex、dwForwardDest、dwForwardMask、dwForwardNextHop、dwForwardPolicy にも値を指定する必要がある。

(プラグイン / モジュール : iphlpapi.dll)

解説

SetIpForwardEntry 関数は、ローカルコンピュータの IPv4 ルーティングテーブル内の既存経路を変更する。

[戻り値]
関数が成功すると、戻り値は NO_ERROR である。失敗した場合は以下のエラーコードのいずれかが返される。
このドキュメントは省略されている。

[備考]
route が指す MIB_IPFORWARDROW の dwForwardProto は MIB_IPPROTO_NETMGMT
に設定しなければならず、そうでないと SetIpForwardEntry
は失敗する。ルーティングプロトコル識別子は、指定ルーティングプロトコルの経路情報を識別するために使われる。例えば
MIB_IPPROTO_NETMGMT は DHCP や SNMP によるネットワーク管理、あるいは
CreateIpForwardEntry / DeleteIpForwardEntry / SetIpForwardEntry
の呼び出しで設定された経路情報を識別する。Windows Vista / Windows Server 2008
では、dwForwardMetric1 は関連インターフェイスの MIB_IPINTERFACE_ROW の Metric
と合算した値であり、Metric 以上でなければならない。経路メトリックを 0 に設定したい場合は、dwForwardMetric1
を関連インターフェイスの Metric と等しくする。インターフェイスメトリックは GetIpInterfaceEntry
で取得できる。Windows Vista / Server 2008 では、SetIpForwardEntry はサブインターフェイスが
1 つだけのインターフェイス (interface LUID と subinterface LUID が同一)
のみを対象とする。dwForwardIfIndex がインターフェイスを指定する。dwForwardAge は現在
SetIpForwardEntry では使われず、RRAS 実行時に MIB_IPPROTO_NETMGMT
型の経路に対してのみ使用される。INFINITE のときはタイムアウトによる削除は行われない。それ以外の値は TCP/IP
スタックが経路を削除するまでの秒数を指定する。SetIpForwardEntry で変更された経路は既定で dwForwardAge =
INFINITE
となる。dwForwardPolicy、dwForwardType、dwForwardAge、dwForwardNextHopAS、dwForwardMetric1~5
は SetIpForwardEntry では現在使われない。新規経路は CreateIpForwardEntry、取得は
GetIpForwardTable を使用する。Windows Vista 以降では SetIpForwardEntry は
Administrators グループメンバのみが呼べ、それ以外は ERROR_ACCESS_DENIED。UAC のため、組み込み
Administrator 以外は requestedExecutionLevel=requireAdministrator または
RunAs administrator が必要。
Note: Windows NT 4.0 および Windows 2000 以降では特権操作を実行する。成功には
Administrators グループまたは NetworkConfigurationOperators
グループのメンバとしてログオンしている必要がある。

情報

プラグイン / モジュールiphlpapi.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の iphlpapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_iphlpapi_gen2.hs