次の方法で共有


IP ヘルパーの概要

インターネット プロトコル ヘルパー (IP ヘルパー) を使用すると、ドライバーはローカル コンピューターのネットワーク構成に関する情報を取得し、その構成を変更できます。 また、IP ヘルパーには、ローカル コンピューターのネットワーク構成の特定の側面が変更されたときにドライバーに通知を受け取るようにする通知メカニズムも用意されています。 IP ヘルパーは、Windows Vista 以降のバージョンの Microsoft Windows オペレーティング システムで使用できます。

IP ヘルパー関数の多くは、管理情報ベース (MIB) テクノロジに関連付けられているデータ型を表す構造体パラメーターを渡します。 IP ヘルパー関数は、これらの MIB 構造を使用して、さまざまなネットワーク情報を表します。

IP Helper のドキュメントでは、アダプターおよびインターフェイスという用語が広範囲に使用されています。 アダプター は、ネットワーク アダプターの省略形 従来の用語です。これは、もともと何らかの形式のネットワーク ハードウェアと呼ばばれています。 アダプターは、データ リンク レベルの抽象化です。

インターフェイス は、IETF RFC ドキュメントで、リンクへのノードの添付ファイルを表す抽象的な概念として説明されています。 インターフェイスは IP レベルの抽象化です。

ドライバーは、次のカーネル モード関数、MIB 構造体、および MIB およびネットワーク層 (NL) 列挙体を使用して、ローカル コンピューター上の伝送制御プロトコル/インターネット プロトコル (TCP/IP) トランスポートの構成設定を取得および変更できます。

手記

ドライバー コードを開発するときは、ヘッダー ファイルを含む の指示に従います。

インターフェイス変換関数

機能 説明
ConvertInterfaceAliasToLuid ネットワーク インターフェイスのローカル一意識別子 (LUID) を Unicode インターフェイス名に変換します。
ConvertInterfaceGuidToLuid ネットワーク インターフェイスのグローバル一意識別子 (GUID) をインターフェイスの LUID に変換します。
ConvertInterfaceIndexToLuid ネットワーク インターフェイスのローカル インデックスをインターフェイスの LUID に変換します。
ConvertInterfaceLuidToAlias ネットワーク インターフェイスの LUID をインターフェイス エイリアスに変換します。
ConvertInterfaceLuidToGuid ネットワーク インターフェイスの LUID をインターフェイスの GUID に変換します。
ConvertInterfaceLuidToIndex ネットワーク インターフェイスの LUID を、インターフェイスのローカル インデックスに変換します。
ConvertInterfaceLuidToNameA ネットワーク インターフェイスの LUID を ANSI インターフェイス名に変換します。
ConvertInterfaceLuidToNameW ネットワーク インターフェイスの LUID を Unicode インターフェイス名に変換します。
ConvertInterfaceNameToLuidA ANSI ネットワーク インターフェイス名をインターフェイスの LUID に変換します。
ConvertInterfaceNameToLuidW Unicode ネットワーク インターフェイス名をインターフェイスの LUID に変換します。
if_indextoname ネットワーク インターフェイスのローカル インデックスを ANSI インターフェイス名に変換します。
if_nametoindex ネットワーク インターフェイスの ANSI インターフェイス名を、インターフェイスのローカル インデックスに変換します。

インターフェイス管理機能

機能 説明
GetIfEntry2 ローカル コンピューター上の指定したインターフェイスの情報を取得します。
GetIfStackTable インターフェイス スタック上のネットワーク インターフェイスのリレーションシップを指定するネットワーク インターフェイス スタック行エントリのテーブルを取得します。
GetIfTable2 MIB-II インターフェイス テーブルを取得します。
GetIfTable2Ex 取得するインターフェイス情報のレベルを指定して、MIB-II インターフェイス テーブルを取得します。
GetInvertedIfStackTable インターフェイス スタック上のネットワーク インターフェイスのリレーションシップを指定する反転ネットワーク インターフェイス スタック行エントリのテーブルを取得します。
GetIpInterfaceEntry ローカル コンピューター上の指定したインターフェイスの IP 情報を取得します。
GetIpInterfaceTable ローカル コンピューター上の IP インターフェイス エントリを取得します。
InitializeIpInterfaceEntry 既定値を使用して、MIB_IPINTERFACE_ROW 構造体エントリのメンバーを初期化します。
SetIpInterfaceEntry ローカル コンピューター上の IP インターフェイスのプロパティを設定します。

IP アドレス管理機能

機能 説明
CreateAnycastIpAddressEntry ローカル コンピューターに新しいエニーキャスト IP アドレス エントリを追加します。
CreateSortedAddressPairs 指定された宛先アドレスのリストをホスト コンピューターのローカル IP アドレスとペアにし、通信の優先順序に従ってペアを並べ替えます。
CreateUnicastIpAddressEntry ローカル コンピューターに新しいユニキャスト IP アドレス エントリを追加します。
DeleteAnycastIpAddressEntry 既存のエニーキャスト IP アドレス エントリをローカル コンピューターから削除します。
DeleteUnicastIpAddressEntry ローカル コンピューターから既存のユニキャスト IP アドレス エントリを削除します。
GetAnycastIpAddressEntry ローカル コンピューター上の既存のエニーキャスト IP アドレス エントリの情報を取得します。
GetAnycastIpAddressTable ローカル コンピューター上のエニーキャスト IP アドレス テーブルを取得します。
GetMulticastIpAddressEntry ローカル コンピューター上の既存のマルチキャスト IP アドレス エントリの情報を取得します。
GetMulticastIpAddressTable ローカル コンピューター上のマルチキャスト IP アドレス テーブルを取得します。
GetUnicastIpAddressEntry ローカル コンピューター上の既存のユニキャスト IP アドレス エントリの情報を取得します。
GetUnicastIpAddressTable ローカル コンピューター上のユニキャスト IP アドレス テーブルを取得します。
InitializeUnicastIpAddressEntry ローカル コンピューター上のユニキャスト IP アドレス エントリの既定値を使用して、MIB_UNICASTIPADDRESS_ROW 構造体を初期化します。
NotifyStableUnicastIpAddressTable ローカル コンピューター上の安定したユニキャスト IP アドレス テーブルを取得します。
SetUnicastIpAddressEntry ローカル コンピューター上の既存のユニキャスト IP アドレス エントリのプロパティを設定します。

IP 近隣アドレス管理機能

機能 説明
CreateIpNetEntry2 ローカル コンピューターに新しい近隣 IP アドレス エントリを作成します。
DeleteIpNetEntry2 ローカル コンピューターから近隣 IP アドレス エントリを削除します。
FlushIpNetTable2 ローカル コンピューター上の IP ネイバー テーブルをフラッシュします。
GetIpNetEntry2 ローカル コンピューター上の近隣 IP アドレス エントリの情報を取得します。
GetIpNetTable2 ローカル コンピューター上の IP 近隣テーブルを取得します。
ResolveIpNetEntry2 ローカル コンピューター上の近隣 IP アドレス エントリの物理アドレスを解決します。
SetIpNetEntry2 ローカル コンピューター上の既存の近隣 IP アドレス エントリの物理アドレスを設定します。

IP パス管理機能

機能 説明
FlushIpPathTable ローカル コンピューター上の IP パス テーブルをフラッシュします。
GetIpPathEntry ローカル コンピューター上の IP パス エントリの情報を取得します。
GetIpPathTable ローカル コンピューター上の IP パス テーブルの情報を取得します。

IP ルート管理機能

機能 説明
CreateIpForwardEntry2 ローカル コンピューターに新しい IP ルート エントリを作成します。
DeleteIpForwardEntry2 ローカル コンピューターから IP ルート エントリを削除します。
GetBestRoute2 指定した宛先 IP アドレスへの最適なルートのローカル コンピューター上の IP ルート エントリを取得します。
GetIpForwardEntry2 ローカル コンピューター上の IP ルート エントリの情報を取得します。
GetIpForwardTable2 ローカル コンピューター上の IP ルート エントリを取得します。
InitializeIpForwardEntry ローカル コンピューター上の IP ルート エントリの既定値を使用して、MIB_IPFORWARD_ROW2 構造体を初期化します。
SetIpForwardEntry2 ローカル コンピューター上の IP ルート エントリのプロパティを設定します。

IP テーブルのメモリ管理機能

機能 説明
FreeMibTable ネットワーク インターフェイス、アドレス、ルートのテーブルを返す関数によって割り当てられるバッファーを解放します (たとえば、GetIfTable2 、GetAnycastIpAddressTable)。

通知関数

機能 説明
CancelMibChangeNotify2 IP インターフェイスの変更、IP アドレスの変更、IP ルートの変更、安定したユニキャスト IP アドレス テーブルの取得要求に関する変更通知のドライバーを登録解除します。
NotifyIpInterfaceChange ローカル コンピューター上のすべての IP インターフェイス、IPv4 インターフェイス、または IPv6 インターフェイスへの変更を通知するドライバーを登録します。
NotifyRouteChange2 ローカル コンピューター上の IP ルート エントリに対する変更の通知を受け取るレジスタ。
NotifyUnicastIpAddressChange ローカル コンピューター上のすべてのユニキャスト IP インターフェイス、ユニキャスト IPv4 アドレス、またはユニキャスト IPv6 アドレスへの変更を通知するレジスタ。

Teredo IPv6 クライアント管理機能

機能 説明
GetTeredoPort Teredo クライアントがローカル コンピューターで使用する動的 UDP ポート番号を取得します。
Teredoポート変更通知 Teredo クライアントがローカル コンピューター上の Teredo サービス ポートに使用する UDP ポート番号の変更を通知するレジスタ。
NotifyStableUnicastIpAddressTable ローカル コンピューター上の安定したユニキャスト IP アドレス テーブルを取得します。

MIB 構造体

構造 説明
IP_ADDRESS_PREFIX IP アドレス プレフィックスを格納します。
MIB_ANYCASTIPADDRESS_ROW エニーキャスト IP アドレスに関する情報を格納します。
MIB_ANYCASTIPADDRESS_TABLE エニーキャスト IP アドレス エントリのテーブルが含まれています。
MIB_IF_ROW2 特定のインターフェイスに関する情報を格納します。
MIB_IF_TABLE2 論理インターフェイスエントリと物理インターフェイス エントリのテーブルが含まれています。
MIB_IFSTACK_ROW 2 つのネットワーク インターフェイス間の関係を表します。
MIB_IFSTACK_TABLE ネットワーク インターフェイス スタック内の行エントリのテーブルが含まれています。 次の表は、インターフェイス スタック上のネットワーク インターフェイスのリレーションシップを指定します。
MIB_INVERTEDIFSTACK_ROW 2 つのネットワーク インターフェイス間の関係を表します。
MIB_INVERTEDIFSTACK_TABLE 反転されたネットワーク インターフェイス スタック行エントリのテーブルが含まれています。 次の表は、インターフェイス スタック上のネットワーク インターフェイスのリレーションシップを逆の順序で指定します。
MIB_IPFORWARD_ROW2 IP ルート エントリに関する情報を格納します。
MIB_IPFORWARD_TABLE2 IP ルート エントリのテーブルが含まれています。
MIB_IPINTERFACE_ROW 特定の IP アドレス ファミリのインターフェイス管理情報をネットワーク インターフェイスに格納します。
MIB_IPINTERFACE_TABLE IP インターフェイス エントリのテーブルが含まれています。
MIB_IPNET_ROW2 近隣 IP アドレスに関する情報を格納します。
MIB_IPNET_TABLE2 近隣 IP アドレス エントリのテーブルが含まれています。
MIB_IPPATH_ROW IP パス エントリに関する情報を格納します。
MIB_IPPATH_TABLE IP パス エントリのテーブルが含まれています。
MIB_MULTICASTIPADDRESS_ROW マルチキャスト IP アドレスに関する情報を格納します。
MIB_MULTICASTIPADDRESS_TABLE マルチキャスト IP アドレス エントリのテーブルが含まれています。
MIB_UNICASTIPADDRESS_ROW ユニキャスト IP アドレスに関する情報を格納します。
MIB_UNICASTIPADDRESS_TABLE ユニキャスト IP アドレス エントリのテーブルが含まれています。

MIB 列挙型

列挙 説明
MIB_IF_TABLE_LEVEL 取得するインターフェイス情報のレベルを定義します。
MIB_NOTIFICATION_TYPE 通知が発生したときにコールバック関数に渡される通知の種類を定義します。

NL 列挙型

列挙 説明
NL_ADDRESS_TYPE ネットワーク 層の IP アドレスの種類を指定します。
NL_DAD_STATE 重複アドレス検出 (DAD) 状態を定義します。
NL_LINK_LOCAL_ADDRESS_BEHAVIOR リンク ローカル アドレスの動作を定義します。
NL_NEIGHBOR_STATE RFC 2461、セクション 7.3.2 で説明されているように、ネットワーク 層の近隣 IP アドレスの状態を定義します。
NL_PREFIX_ORIGIN IP アドレスのプレフィックスまたはネットワーク部分の発信元を定義します。
NL_ROUTE_ORIGIN IP ルートの配信元を定義します。
NL_ROUTE_PROTOCOL RFC 4292 で説明されているように、IP ルートが追加されたルーティング メカニズムを定義します。
NL_ROUTER_DISCOVERY_BEHAVIOR RFC 2461 で説明されているように、ルーター検出動作を定義します。
NL_SUFFIX_ORIGIN IP アドレスのサフィックスまたはホスト部分の発信元を定義します。