CreateProxyArpEntry 函数 (iphlpapi.h)
CreateProxyArpEnry 函数在本地计算机上为指定的 IPv4 地址创建代理地址解析协议 (PARP) 条目。
语法
IPHLPAPI_DLL_LINKAGE DWORD CreateProxyArpEntry(
[in] DWORD dwAddress,
[in] DWORD dwMask,
[in] DWORD dwIfIndex
);
parameters
[in] dwAddress
此计算机充当代理的 IPv4 地址。
[in] dwMask
dwAddress 中指定的 IPv4 地址的子网掩码。
[in] dwIfIndex
要为其代理 dwAddress 标识的 IPv4 地址的 ARP 的接口的索引。 换句话说,在此接口上收到 dwAddress 的 ARP 请求时,本地计算机会使用此接口的物理地址进行响应。 如果此接口的类型不支持 ARP(如 PPP),则调用将失败。
返回值
如果函数成功,则函数返回 NO_ERROR (零) 。
如果函数失败,则返回值为以下错误代码之一。
返回代码 | 说明 |
---|---|
|
拒绝访问。 此错误在 Windows Vista 和 Windows Server 2008 上返回,条件如下:用户在本地计算机上缺少所需的管理权限,或者应用程序未在增强的 shell 中运行,因为内置管理员 (运行方式管理员) 。 |
|
输入参数无效,未执行任何操作。 如果 dwAddress 参数为 零 或无效值,其他参数之一无效,则返回此错误。 |
|
未在本地计算机上配置 IPv4 传输。 |
|
使用 FormatMessage 获取返回错误的消息字符串。 |
注解
若要检索 ARP 表,请调用 GetIpNetTable 函数。 若要删除现有的 PARP 条目,请调用 DeleteProxyArpEntry。
在 Windows Vista 及更高版本上, CreateProxyArpEnry 函数只能由以管理员组成员身份登录的用户调用。 如果 CreateProxyArpEnry 由不是 Administrators 组成员的用户调用,则函数调用将失败并返回 ERROR_ACCESS_DENIED 。 此函数也可能因为 Windows Vista 及更高版本上的用户帐户控制 (UAC) 而失败。 如果包含此函数的应用程序由以管理员组成员身份登录(而非内置管理员)的用户执行,则此调用将失败,除非应用程序已在清单文件中标记为 requestedExecutionLevel 设置为 requireAdministrator。 如果 Windows Vista 和更高版本上的应用程序缺少此清单文件,则以管理员组成员身份登录的用户(而不是内置管理员)必须在增强的 shell 中执行应用程序,因为内置管理员 (RunAs 管理员) 才能使此功能成功。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iphlpapi.h |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |