次の方法で共有


SetTcpEntry 関数 (iphlpapi.h)

SetTcpEntry 関数は、TCP 接続の状態を設定します。

構文

IPHLPAPI_DLL_LINKAGE DWORD SetTcpEntry(
  [in] PMIB_TCPROW pTcpRow
);

パラメーター

[in] pTcpRow

MIB_TCPROW構造体へのポインター。 この構造体は、変更する TCP 接続を識別する情報を指定します。 また、TCP 接続の新しい状態も指定します。 呼び出し元は、この構造体内のすべてのメンバーの値を指定する必要があります。

戻り値

関数が成功した場合、 関数は NO_ERROR (ゼロ) を返します。

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

リターン コード/値 Description
ERROR_ACCESS_DENIED
アクセスが拒否されました。 このエラーは、Windows Vista および Windows Server 2008 で、次のようないくつかの条件で返されます。ユーザーがローカル コンピューターに必要な管理特権を持っていないか、アプリケーションが組み込みの管理者 (RunAs 管理者) として拡張シェルで実行されていません。
ERROR_INVALID_PARAMETER
入力パラメーターが無効です。アクションは実行されませんでした。 このエラーは、pTcpRow パラメーターが NULL であるか、pTcpRow パラメーターが指すMIB_TCPROW構造体の Row メンバーが MIB_TCP_STATE_DELETE_TCB に設定されていない場合に返されます。
ERROR_NOT_SUPPORTED
IPv4 トランスポートがローカル コンピューターで構成されていません。
317
アプリケーションが管理者特権以外で実行されているため、関数は TCP エントリを設定できません。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

現時点では、TCP 接続を設定できる唯一の状態はMIB_TCP_STATE_DELETE_TCBです。

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

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

こちらもご覧ください

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

IP ヘルパーの開始ページ

MIB_TCPROW