setIfEntry 函数 (iphlpapi.h)
SetIfEntry 函数设置接口的管理状态。
语法
IPHLPAPI_DLL_LINKAGE DWORD SetIfEntry(
[in] PMIB_IFROW pIfRow
);
parameters
[in] pIfRow
指向 MIB_IFROW 结构的指针。 此结构的 dwIndex 成员指定要设置管理状态的接口。 dwAdminStatus 成员指定新的管理状态。 dwAdminStatus 成员可以是以下值之一。
值 | 含义 |
---|---|
|
接口在管理上已启用。 |
|
接口在管理上处于禁用状态。 |
返回值
如果函数成功,则返回值NO_ERROR。
如果函数失败,则返回值为以下错误代码之一。
返回代码 | 说明 |
---|---|
|
拒绝访问。 此错误在 Windows Vista 及更高版本上返回,包括以下几种情况:用户在本地计算机上缺少所需的管理权限,或者应用程序未在增强的 shell 中运行,因为内置管理员 (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 组成员身份登录的用户调用。 如果 SetIfEntry 由不是 Administrators 组成员的用户调用,则函数调用将失败并返回 ERROR_ACCESS_DENIED 。
SetIfEntry 函数也可能因为 Windows Vista 及更高版本上的用户帐户控制 (UAC) 而失败。 如果包含此函数的应用程序由以管理员组成员身份登录(而不是内置管理员)的用户执行,则此调用将失败,除非应用程序已在清单文件中标记为 requestedExecutionLevel 设置为 requireAdministrator。 如果应用程序缺少此清单文件,则作为管理员组成员(而不是内置管理员)登录的用户必须在增强的 shell 中执行应用程序,因为内置管理员 (RunAs 管理员) 此函数才能成功。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iphlpapi.h |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |
另请参阅
GetIfTable