SetIfEntry 関数 (iphlpapi.h)
SetIfEntry 関数は、インターフェイスの管理状態を設定します。
構文
IPHLPAPI_DLL_LINKAGE DWORD SetIfEntry(
[in] PMIB_IFROW pIfRow
);
パラメーター
[in] pIfRow
MIB_IFROW構造体へのポインター。 この構造体の dwIndex メンバーは、管理状態を設定するインターフェイスを指定します。 dwAdminStatus メンバーは、新しい管理状態を指定します。 dwAdminStatus メンバーには、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
|
インターフェイスは管理上有効です。 |
|
インターフェイスは管理上無効になっています。 |
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
アクセスが拒否されました。 このエラーは、Windows Vista 以降で、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターで必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。 |
|
指定されたファイルが見つかりません。 このエラーは、pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーによって指定されたネットワーク インターフェイスが見つからなかった場合、Windows Vista 以降で返されます。 |
|
無効なパラメーターが関数に渡されました。 このエラーは、pIfRow パラメーターに NULL ポインターが渡された場合、または pIfRow パラメーターが指すMIB_IFROWの dwIndex メンバーが指定されていない場合に返されます。 このエラーは、pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーによって指定されたネットワーク インターフェイスが見つからなかった場合、Windows Server 2003 以前でも返されます。 |
|
要求はサポートされていません。 このエラーは、ローカル コンピューターで TCP/IP スタックが構成されていない場合、Windows Server 2003 以前で返されます。 |
|
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。 |
解説
SetIfEntry 関数は、ローカル コンピューター上のインターフェイスの管理状態を設定するために使用されます。
pIfRow パラメーターが指すMIB_IFROW構造体の dwIndex メンバーは、インターフェイス インデックスに初期化する必要があります。
pIfRow パラメーターが指すMIB_IFROWの dwIndex メンバーがローカル コンピューター上の既存のインターフェイスと一致しない場合、SetIfEntry 関数は失敗します。
Windows Vista 以降では、 SetIfEntry 関数は、Administrators グループのメンバーとしてログオンしたユーザーのみが呼び出すことができます。 Administrators グループのメンバーではないユーザーが SetIfEntry を呼び出すと、関数呼び出しは失敗し、 ERROR_ACCESS_DENIED が返されます。
SetIfEntry 関数は、Windows Vista 以降のユーザー アカウント制御 (UAC) が原因で失敗する可能性もあります。 この関数を含むアプリケーションが、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしているユーザーによって実行された場合、 requestedExecutionLevel が requireAdministrator に設定されたマニフェスト ファイルでアプリケーションがマークされていない限り、この呼び出しは失敗します。 アプリケーションにこのマニフェスト ファイルがない場合、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしたユーザーは、この関数を成功させるために、組み込みの Administrator (RunAs 管理者) として拡張シェルでアプリケーションを実行する必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | iphlpapi.h |
Library | Iphlpapi.lib |
[DLL] | Iphlpapi.dll |
関連項目
GetIfTable