次の方法で共有


SetIpNetEntry 関数 (iphlpapi.h)

SetIpNetEntry 関数は、ローカル コンピューター上の ARP テーブル内の既存の ARP エントリを変更します。

構文

IPHLPAPI_DLL_LINKAGE DWORD SetIpNetEntry(
  [in] PMIB_IPNETROW pArpEntry
);

パラメーター

[in] pArpEntry

MIB_IPNETROW構造体へのポインター。 この構造体の情報は、変更するエントリとエントリの新しい情報を指定します。 呼び出し元は、この構造体のすべてのメンバーの値を指定する必要があります。

戻り値

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
アクセスが拒否されました。 このエラーは、Windows Vista および Windows Server 2008 で、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターに必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。
ERROR_INVALID_PARAMETER
pArpEntry パラメーターが NULL であるか、SetIpNetEntrypArpEntry が指すメモリから読み取ることができないか、MIB_IPNETROW構造体のメンバーの 1 つが無効です。
ERROR_NOT_SUPPORTED
IPv4 トランスポートがローカル コンピューターで構成されていません。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

Windows Vista 以降では、 SetIpNetEntry 関数は、Administrators グループのメンバーとしてログオンしているユーザーのみが呼び出すことができます。 Administrators グループのメンバーではないユーザーによって SetIpNetEntry が呼び出された場合、関数呼び出しは失敗し、 ERROR_ACCESS_DENIED が返されます。

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

メモWindows NT 4.0 および Windows 2000 以降では、この関数は特権操作を実行します。 この関数を正常に実行するには、呼び出し元が Administrators グループまたは NetworkConfigurationOperators グループのメンバーとしてログオンしている必要があります。
 

要件

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

こちらもご覧ください

CreateIpNetEntry

DeleteIpNetEntry

IP ヘルパー関数リファレンス

IP ヘルパーの開始ページ

MIB_IPNETROW