setTcpEntry 函数 (iphlpapi.h)

SetTcpEntry 函数设置 TCP 连接的状态。

语法

IPHLPAPI_DLL_LINKAGE DWORD SetTcpEntry(
  [in] PMIB_TCPROW pTcpRow
);

参数

[in] pTcpRow

指向 MIB_TCPROW 结构的指针。 此结构指定用于标识要修改的 TCP 连接的信息。 它还指定 TCP 连接的新状态。 调用方必须为此结构中的所有成员指定值。

返回值

如果函数成功,则函数返回 NO_ERROR (零) 。

如果函数失败,则返回值为以下错误代码之一。

返回代码/值 说明
ERROR_ACCESS_DENIED
访问被拒绝。 此错误在 Windows Vista 和 Windows Server 2008 上返回,条件如下:用户在本地计算机上缺少所需的管理权限,或者应用程序未在增强的 shell 中运行,因为内置管理员 (运行方式管理员) 。
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 函数只能由以管理员组成员身份登录的用户调用。 如果 SetTcpEntry 由非管理员组成员的用户调用,则函数调用将失败并返回 ERROR_ACCESS_DENIED

SetTcpEntry 函数也可能因为 Windows Vista 及更高版本上的用户帐户控制 (UAC) 而失败。 如果包含此函数的应用程序由以管理员组成员身份登录(而非内置管理员)的用户执行,则此调用将失败,除非应用程序已在清单文件中标记为 requestedExecutionLevel 设置为 requireAdministrator。 如果应用程序缺少此清单文件,则作为管理员组成员(而非内置管理员)登录的用户必须在增强的 shell 中执行应用程序,因为内置管理员 (RunAs 管理员) 才能使此功能成功。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

另请参阅

IP 帮助程序函数参考

IP 帮助程序起始页

MIB_TCPROW