ローカルコンピュータ上の IP インターフェイスのプロパティを設定する。
SetIpInterfaceEntry Row
Row : [var] インターフェイスの MIB_IPINTERFACE_ROW 構造体エントリへのポインタ。入力時、Family は AF_INET6 または AF_INET に設定し、InterfaceLuid または InterfaceIndex を指定する必要がある。正常終了時、InterfaceIndex を指定していた場合には InterfaceLuid が埋められる。
(プラグイン / モジュール : iphlpapi.dll)
ローカルコンピュータ上の IP インターフェイスのプロパティを設定する。 [戻り値] 関数が成功すると、戻り値は NO_ERROR である。失敗した場合は以下のエラーコードのいずれかが返される。 このドキュメントは省略されている。 [備考] SetIpInterfaceEntry 関数は Windows Vista 以降で定義され、既存の IP インターフェイスエントリを変更する。入力時、Family は AF_INET または AF_INET6、InterfaceLuid または InterfaceIndex の少なくとも一方を初期化しなければならない。前者が 0 なら後者が使われる。出力時、InterfaceIndex 指定なら InterfaceLuid が埋められる。MaxReassemblySize、MinRouterAdvertisementInterval、MaxRouterAdvertisementInterval、Connected、SupportsWakeUpPatterns、SupportsNeighborDiscovery、SupportsRouterDiscovery、ReachableTime、TransmitOffload、ReceiveOffload は SetIpInterfaceEntry 呼び出し時には無視される (ネットワークスタックが設定)。通常は GetIpInterfaceTable / GetIpInterfaceEntry で取得し、構造体を変更して SetIpInterfaceEntry に渡す。IPv4 では SitePrefixLength は変更してはならず、0 にしなければならない。あるいは InitializeIpInterfaceEntry で既定値に初期化し、Family と InterfaceIndex/InterfaceLuid を設定する方法もある。 セキュリティ要件の異なる複数ネットワークへの特権なし同時アクセスはセキュリティホールを生じる。典型例として VPN とインターネットへの同時アクセスが挙げられる。Windows Server 2003 / XP は weak host model を用い、RAS が既定経路のメトリックを増やすことでトラフィックを VPN インターフェイス経由にルーティングする。Windows Vista 以降は strong host model が既定で、GetBestRoute2 / GetBestRoute に送信元 IP を指定すると経路ルックアップは送信元インターフェイスに限定され、RAS のメトリック変更の効果はない。DisableDefaultRoutes メンバを TRUE に設定することで既定経路の使用を無効化でき、VPN クライアントがスプリットトンネリングを制限するのに使用できる。SetIpInterfaceEntry は Administrators グループメンバのみが呼び出せ、それ以外は ERROR_ACCESS_DENIED。UAC のため、組み込み Administrator 以外は requestedExecutionLevel=requireAdministrator または RunAs administrator 実行が必要。
| プラグイン / モジュール | iphlpapi.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の iphlpapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_iphlpapi_gen2.hs |