次の方法で共有


IP ヘルパーの概要

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

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

IP Helper のドキュメンテーションでは、"アダプター" と "インターフェイス" という用語が広範囲に使用されています。 アダプターは、ネットワーク アダプターの省略形であり、もともと何らかの形式のネットワーク ハードウェアを表した言葉です。 アダプターは、データ リンク レベルの抽象概念です。

インターフェイスは、IETF RFC ドキュメントでリンクへのノードのアタッチメントを表す抽象概念として使われます。 インターフェイスは IP レベルの抽象概念です。

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

Note

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

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

関数 説明

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

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

通知関数

関数 説明

CancelMibChangeNotify2

IP インターフェイスの変更、IP アドレスの変更、IP ルートの変更、および、静的ユニキャスト IP アドレス テーブルの取得要求のための変更通知のドライバーを登録解除します。

NotifyIpInterfaceChange

ローカル コンピューター上のすべての IP インターフェイス、IPv4 インターフェイス、または IPv6 インターフェイスへの変更通知を受信するドライバーを登録します。

NotifyRouteChange2

ローカル コンピューター上の IP ルート エントリへの変更通知の受信を登録します。

NotifyUnicastIpAddressChange

ローカル コンピューター上のすべてのユニキャスト IP インターフェイス、ユニキャスト IPv4 アドレス、またはユニキャスト IPv6 アドレスへの変更通知の受信を登録します。

Teredo IPv6 クライアント管理関数

関数 説明

GetTeredoPort

ローカル コンピューター上で Teredo クライアントが使用する動的 UDP ポート番号を取得します。

NotifyTeredoPortChange

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 アドレスのサフィックスまたはホスト部分のオリジンを定義します。