CreateIpForwardEntry

CreateIpForwardEntry 関数は、ローカルコンピュータの IPv4 ルーティングテーブルに経路を作成する。

CreateIpForwardEntry pRoute

pRoute : [var] 新しい経路の情報を指定する MIB_IPFORWARDROW 構造体へのポインタ。呼び出し元はすべてのメンバに値を設定する必要がある。dwForwardProto メンバには MIB_IPPROTO_NETMGMT を指定しなければならない。

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

解説

CreateIpForwardEntry 関数は、ローカルコンピュータの IPv4 ルーティングテーブルに経路を作成する。

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

[備考]
pRoute が指す MIB_IPFORWARDROW の dwForwardProto には MIB_IPPROTO_NETMGMT
を設定する必要がある。そうでなければ CreateIpForwardEntry は失敗する。ルーティングプロトコル識別子は、DHCP /
SNMP あるいは CreateIpForwardEntry / DeleteIpForwardEntry /
SetIpForwardEntry 呼び出しなど、ネットワーク管理経由で設定された経路情報を識別するために使われる。Windows
Vista / Server 2008 では dwForwardMetric1
は経路メトリックとインターフェイスメトリックの合算であり、関連する MIB_IPINTERFACE_ROW の Metric
以上にする必要がある。経路メトリックを 0 にしたい場合は dwForwardMetric1
をインターフェイスメトリックと同じ値に設定する。Windows Vista / Server 2008 では
CreateIpForwardEntry は単一サブインターフェイスのインターフェイスでしか動作しない (インターフェイス LUID
とサブインターフェイス LUID
が同一のもの)。dwForwardPolicy、dwForwardType、dwForwardAge、dwForwardNextHopAS、dwForwardMetric2~5
は現在使用されない。新しい経路の dwForwardAge は既定で INFINITE となる。既存経路の変更には
SetIpForwardEntry、IPv4 ルーティングテーブル取得には GetIpForwardTable を使う。Windows
Vista 以降では 本関数は Administrators
グループのメンバーとしてログオンしたユーザーからのみ呼び出せる。Administrators グループのメンバーでないユーザーが呼び出すと
ERROR_ACCESS_DENIED を返して失敗する。Windows Vista 以降のユーザーアカウント制御 (UAC)
によっても失敗しうる。この関数を含むアプリケーションをビルトイン Administrator 以外の Administrators
グループのメンバーが実行した場合、マニフェストファイルで requestedExecutionLevel を
requireAdministrator に設定していない限りこの呼び出しは失敗する。マニフェストがない場合は、昇格シェル
(管理者として実行) から起動する必要がある。
注: 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