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_INET と PF_INET)、どちらの定数も使用できます。
Windows Vista 以降用にリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更され、このメンバーの使用可能な値は Ws2def.h ヘッダー ファイルで定義されます。 Ws2def.h ヘッダー ファイルは Winsock2.h に自動的に含まれるので、直接使用しないでください。
現在サポートされている値は 、AF_INET、 AF_INET6、 AF_UNSPECです。
[in] InterfaceIndex
インターフェイス インデックス。 インデックスが指定されている場合は、特定のインターフェイスで近隣 IP アドレス エントリをフラッシュします。それ以外の場合は、すべてのインターフェイスで近隣 IP アドレス エントリをフラッシュします。 インターフェイスを無視するには、このパラメーターを 0 に設定します。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
アクセスが拒否されました。 このエラーは、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターで必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。 |
|
無効なパラメーターが関数に渡されました。 Family パラメーターがAF_INET、AF_INET6、またはAF_UNSPECとして指定されていない場合、このエラーが返されます。 |
|
要求はサポートされていません。 このエラーは、ローカル コンピューター上に 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 |