wlanapi.h (wlansetProfileEapXmlUserData 函数)
WlanSetProfileEapXmlUserData 函数设置可扩展身份验证协议 (EAP) XML 字符串指定的用户凭据。 用户凭据适用于适配器上的配置文件。 这些凭据只能由调用方使用。
语法
DWORD WlanSetProfileEapXmlUserData(
[in] HANDLE hClientHandle,
[in] const GUID *pInterfaceGuid,
[in] LPCWSTR strProfileName,
[in] DWORD dwFlags,
[in] LPCWSTR strEapXmlUserData,
PVOID pReserved
);
参数
[in] hClientHandle
客户端的会话句柄,由先前对 WlanOpenHandle 函数的调用获取。
[in] pInterfaceGuid
接口的 GUID。
[in] strProfileName
与 EAP 用户数据关联的配置文件的名称。 配置文件名称区分大小写。 此字符串必须以 NULL 结尾。
带 SP3 的 Windows XP 和适用于 SP2 的 Windows XP 无线 LAN API: 提供的名称必须与从网络的 SSID 自动派生的配置文件名称匹配。 对于基础结构网络配置文件,必须为配置文件名称提供 SSID。 对于即席网络配置文件,提供的名称必须是即席网络的 SSID, -adhoc
后跟 。
[in] dwFlags
一组标志,用于修改函数的行为。
在具有 SP2 的 Windows XP、Windows XP SP3、Windows Vista 和 Windows Server 2008 的无线 LAN API 上,此参数是保留的,应设置为零。
在 Windows 7、Windows Server 2008 R2 及更高版本中,此参数可以是以下值之一。
值 | 含义 |
---|---|
|
为此配置文件的所有用户设置 EAP 主机数据。 |
[in] strEapXmlUserData
指向用于设置用户凭据的 XML 数据的指针。
XML 数据必须基于 EAPHost 用户凭据架构。 若要查看示例用户凭据 XML 数据,请参阅 EAPHost 用户属性。
pReserved
保留供将来使用。 必须设置为 NULL。
返回值
如果函数成功,则返回值为 ERROR_SUCCESS。
如果函数失败,则返回值可能是以下返回代码之一。
返回代码 | 说明 |
---|---|
|
访问被拒绝。 如果调用方对配置文件没有写入访问权限,则返回此值。 |
|
网络连接配置文件已损坏。 如果无法分析 strProfileName 参数中指定的配置文件,则返回此错误。 |
|
参数不正确。 如果出现以下任一情况,则返回此值:
|
|
句柄无效。 如果在句柄表中找不到句柄 hClientHandle ,则返回此错误。 |
|
没有足够的存储空间可用于处理此命令。 |
|
不支持该请求。
当配置文件设置不允许存储用户数据时,将返回此值。 启用单一登录 (SSO) 时,可能会发生这种情况。 在 Windows 7、Windows Server 2008 R2 及更高版本上,如果在使用 802.1X 以外的方法进行身份验证的配置文件上调用 了 WlanSetProfileEapXmlUserData 函数,则会返回此值。 |
|
该服务尚未启动。 如果无线 LAN 服务未运行,则返回此值。 |
|
各种错误代码。 |
注解
WlanSetProfileEapXmlUserData 函数设置要用于配置文件的 EAP 用户凭据。 只能在使用 802.1X 进行身份验证的配置文件上调用此函数。 在 Windows Vista 和 Windows Server 2008 上,这些凭据只能由调用方使用。
eapType 参数是一个EAP_METHOD_TYPE结构,其中包含有关 EAP 方法的类型、标识和作者信息。 EAP_METHOD_TYPE 结构的 eapType 成员是包含 EAP 方法的类型和供应商标识信息的EAP_TYPE结构。
有关 EAP 方法类型分配的详细信息,请参阅 IETF 发布的 RFC 3748 第 6.2 节。
在 Windows 10、Windows Server 2016 及更高版本中,WlanSetProfileEapXmlUserData 函数已增强。 如果 dwFlags 参数包含WLAN_SET_EAPHOST_DATA_ALL_USERS,则可以为配置文件的所有用户设置 EAP 用户凭据。
执行配置文件操作时,所有无线 LAN 函数都需要无线接口的接口 GUID。 删除无线接口时,其状态将从无线 LAN 服务 (WLANSVC) 清除,并且无法执行配置文件操作。
如果已从系统中删除 pInterfaceGuid 参数中指定的无线接口, (已删除的 USB 无线适配器(例如 ) ),WlanSetProfileEapXmlUserData 函数可能会失败并ERROR_INVALID_PARAMETER。
使用 EAP-TTLS 时,WlanSetProfileEapXmlUserData 可能会导致无线连接失败,并且从 64 位操作系统 (OS) 上运行的 32 位应用程序调用 API。 应针对与目标 OS 相同的 CPU 体系结构构建应用程序。
带 SP3 的 Windows XP 和适用于 SP2 的 Windows XP 无线 LAN API: 此函数只能用于受保护的 EAP (PEAP) 凭据。 它不能用于其他 EAP 类型。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista、Windows XP SP3 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | wlanapi.h (包括 Wlanapi.h) |
Library | Wlanapi.lib |
DLL | Wlanapi.dll |
可再发行组件 | 带有 SP2 的 Windows XP 无线 LAN API |