SetIfEntry 関数 (iphlpapi.h)

SetIfEntry 関数は、インターフェイスの管理状態を設定します。

構文

IPHLPAPI_DLL_LINKAGE DWORD SetIfEntry(
  [in] PMIB_IFROW pIfRow
);

パラメーター

[in] pIfRow

MIB_IFROW構造体へのポインター。 この構造体の dwIndex メンバーは、管理状態を設定するインターフェイスを指定します。 dwAdminStatus メンバーは、新しい管理状態を指定します。 dwAdminStatus メンバーには、次のいずれかの値を指定できます。

説明
MIB_IF_ADMIN_STATUS_UP
インターフェイスは管理上有効です。
MIB_IF_ADMIN_STATUS_DOWN
インターフェイスは管理上無効になっています。

戻り値

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
アクセスが拒否されました。 このエラーは、Windows Vista 以降で、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターで必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。
ERROR_FILE_NOT_FOUND
指定されたファイルが見つかりません。 このエラーは、pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーによって指定されたネットワーク インターフェイスが見つからなかった場合、Windows Vista 以降で返されます。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、pIfRow パラメーターに NULL ポインターが渡された場合、または pIfRow パラメーターが指すMIB_IFROWdwIndex メンバーが指定されていない場合に返されます。 このエラーは、pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーによって指定されたネットワーク インターフェイスが見つからなかった場合、Windows Server 2003 以前でも返されます。
ERROR_NOT_SUPPORTED
要求はサポートされていません。 このエラーは、ローカル コンピューターで TCP/IP スタックが構成されていない場合、Windows Server 2003 以前で返されます。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

解説

SetIfEntry 関数は、ローカル コンピューター上のインターフェイスの管理状態を設定するために使用されます。

pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーは、インターフェイス インデックスに初期化する必要があります。

pIfRow パラメーターが指すMIB_IFROWdwIndex メンバーがローカル コンピューター上の既存のインターフェイスと一致しない場合、SetIfEntry 関数は失敗します。

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

SetIfEntry 関数は、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

関連項目

GetIfEntry

GetIfTable

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

IP ヘルパーの開始ページ

MIB_IFROW

MIB_IFTABLE