setIpNetEntry 函数 (iphlpapi.h)
SetIpNetEntry 函数修改本地计算机上 ARP 表中的现有 ARP 条目。
语法
IPHLPAPI_DLL_LINKAGE DWORD SetIpNetEntry(
[in] PMIB_IPNETROW pArpEntry
);
参数
[in] pArpEntry
指向 MIB_IPNETROW 结构的指针。 此结构中的信息指定要修改的条目和条目的新信息。 调用方必须为此结构的所有成员指定值。
返回值
如果函数成功,则返回值NO_ERROR。
如果函数失败,则返回值为以下错误代码之一。
返回代码 | 说明 |
---|---|
|
访问被拒绝。 此错误在 Windows Vista 和 Windows Server 2008 上返回,条件如下:用户在本地计算机上缺少所需的管理权限,或者应用程序未在增强的 shell 中运行,因为内置管理员 (RunAs 管理员) 。 |
|
pArpEntry 参数为 NULL,或者 SetIpNetEntry 无法从 pArpEntry 指向的内存中读取,或者MIB_IPNETROW结构的某个成员无效。 |
|
未在本地计算机上配置 IPv4 传输。 |
|
使用 FormatMessage 获取返回错误的消息字符串。 |
注解
在 Windows Vista 及更高版本中, SetIpNetEntry 函数只能由以 Administrators 组成员身份登录的用户调用。 如果 SetIpNetEntry 由不是 Administrators 组成员的用户调用,则函数调用将失败并返回 ERROR_ACCESS_DENIED 。
SetIpNetEntry 函数也可能因为 Windows Vista 及更高版本上的用户帐户控制 (UAC) 而失败。 如果包含此函数的应用程序由以管理员组成员身份登录(而不是内置管理员)的用户执行,则此调用将失败,除非应用程序已在清单文件中标记为 requestedExecutionLevel 设置为 requireAdministrator。 如果应用程序缺少此清单文件,则作为管理员组成员(而不是内置管理员)登录的用户必须在增强的 shell 中执行应用程序,因为内置管理员 (RunAs 管理员) 此函数才能成功。
注意在 Windows NT 4.0 和 Windows 2000 及更高版本上,此函数执行特权操作。 若要成功执行此函数,调用方必须以 Administrators 组或 NetworkConfigurationOperators 组的成员身份登录。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iphlpapi.h |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |