FlushIpNetTable2 関数 (netioapi.h)

FlushIpNetTable2 関数は、ローカル コンピューター上の IP 近隣テーブルをフラッシュします。

構文

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API FlushIpNetTable2(
  [in] ADDRESS_FAMILY Family,
  [in] NET_IFINDEX    InterfaceIndex
);

パラメーター

[in] Family

フラッシュするアドレス ファミリ。

アドレス ファミリに使用できる値は、 Winsock2.h ヘッダー ファイルに一覧表示されます。 AF_ アドレス ファミリ定数とPF_ プロトコル ファミリ定数の値は同一であるため ( たとえば、AF_INETPF_INET)、どちらの定数も使用できます。

Windows Vista 以降用にリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更され、このメンバーの使用可能な値は Ws2def.h ヘッダー ファイルで定義されます。 Ws2def.h ヘッダー ファイルは Winsock2.h に自動的に含まれるので、直接使用しないでください。

現在サポートされている値は 、AF_INETAF_INET6AF_UNSPECです。

意味
AF_UNSPEC
0
アドレス ファミリが指定されていません。 このパラメーターを指定すると、この関数は IPv4 エントリと IPv6 エントリの両方を含む近隣 IP アドレス テーブルをフラッシュします。
AF_INET
2
インターネット プロトコル バージョン 4 (IPv4) アドレス ファミリ。 このパラメーターを指定すると、この関数は IPv4 エントリのみを含む近隣 IP アドレス テーブルをフラッシュします。
AF_INET6
23
インターネット プロトコル バージョン 6 (IPv6) アドレス ファミリ。 このパラメーターを指定すると、この関数は IPv6 エントリのみを含む近隣 IP アドレス テーブルをフラッシュします。

[in] InterfaceIndex

インターフェイス インデックス。 インデックスが指定されている場合は、特定のインターフェイスで近隣 IP アドレス エントリをフラッシュします。それ以外の場合は、すべてのインターフェイスで近隣 IP アドレス エントリをフラッシュします。 インターフェイスを無視するには、このパラメーターを 0 に設定します。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_ACCESS_DENIED
アクセスが拒否されました。 このエラーは、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターで必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 Family パラメーターがAF_INET、AF_INET6、またはAF_UNSPECとして指定されていない場合、このエラーが返されます
ERROR_NOT_SUPPORTED
要求はサポートされていません。 このエラーは、ローカル コンピューター上に IPv4 スタックがなく、Family パラメーターでAF_INETが指定されている場合に返されます。 このエラーは、ローカル コンピューター上に IPv6 スタックがなく、Family パラメーターでAF_INET6が指定されている場合にも返されます。 このエラーは、この関数がサポートされていない Windows のバージョンでも返されます。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

FlushIpNetTable2 関数は、Windows Vista 以降で定義されています。

次に、
FlushIpNetTable2 関数は、ローカル システム上の近隣 IP アドレスをフラッシュまたは削除します。 Family パラメーターを使用して、削除する近隣 IP アドレスを特定の IP アドレス ファミリに制限できます。 IPv4 と IPv6 の両方の近隣 IP アドレスを削除する必要がある場合は、 Family パラメーターを AF_UNSPEC に設定します。 InterfaceIndex パラメーターを使用すると、削除する近隣 IP アドレスを特定のインターフェイスに制限できます。 すべてのインターフェイスの近隣 IP アドレスを削除する必要がある場合は、 InterfaceIndex パラメーターを 0 に設定します。

Family パラメーターは、AF_INET、AF_INET6、またはAF_UNSPECのいずれかに初期化する必要があります。

FlushIpNetTable2 関数は、Administrators グループのメンバーとしてログオンしているユーザーのみが呼び出すことができます。 Administrators グループのメンバーではないユーザーが FlushIpNetTable2 を呼び出すと、関数呼び出しは失敗し、 ERROR_ACCESS_DENIED が返されます。 この関数は、Windows Vista 以降のユーザー アカウント制御 (UAC) が原因で失敗する可能性もあります。 この関数を含むアプリケーションが、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしているユーザーによって実行された場合、 requestedExecutionLevel が requireAdministrator に設定されたマニフェスト ファイルでアプリケーションがマークされていない限り、この呼び出しは失敗します。 アプリケーションにこのマニフェスト ファイルがない場合、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしたユーザーは、この関数を成功させるために、組み込みの Administrator (RunAs 管理者) として拡張シェルでアプリケーションを実行する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー netioapi.h (Iphlpapi.h を含む)
Library Iphlpapi.lib
[DLL] Iphlpapi.dll

こちらもご覧ください

CreateIpNetEntry2

DeleteIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2