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 及更高版本中,此参数可以是以下值之一。

含义
WLAN_SET_EAPHOST_DATA_ALL_USERS
0x00000001
为此配置文件的所有用户设置 EAP 主机数据。

[in] strEapXmlUserData

指向用于设置用户凭据的 XML 数据的指针。

XML 数据必须基于 EAPHost 用户凭据架构。 若要查看示例用户凭据 XML 数据,请参阅 EAPHost 用户属性

pReserved

保留供将来使用。 必须设置为 NULL

返回值

如果函数成功,则返回值为 ERROR_SUCCESS。

如果函数失败,则返回值可能是以下返回代码之一。

返回代码 说明
ERROR_ACCESS_DENIED
访问被拒绝。 如果调用方对配置文件没有写入访问权限,则返回此值。
ERROR_BAD_PROFILE
网络连接配置文件已损坏。 如果无法分析 strProfileName 参数中指定的配置文件,则返回此错误。
ERROR_INVALID_PARAMETER
参数不正确。 如果出现以下任一情况,则返回此值:
  • hClientHandleNULL
  • pInterfaceGuidNULL
  • strProfileNameNULL
  • strEapXmlUserDataNULL
  • pReserved 不为 NULL
ERROR_INVALID_HANDLE
句柄无效。 如果在句柄表中找不到句柄 hClientHandle ,则返回此错误。
ERROR_NOT_ENOUGH_MEMORY
没有足够的存储空间可用于处理此命令。
ERROR_NOT_SUPPORTED
不支持该请求。

当配置文件设置不允许存储用户数据时,将返回此值。 启用单一登录 (SSO) 时,可能会发生这种情况。

在 Windows 7、Windows Server 2008 R2 及更高版本上,如果在使用 802.1X 以外的方法进行身份验证的配置文件上调用 了 WlanSetProfileEapXmlUserData 函数,则会返回此值。

ERROR_SERVICE_NOT_ACTIVE
该服务尚未启动。 如果无线 LAN 服务未运行,则返回此值。
RPC_STATUS
各种错误代码。

注解

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

另请参阅

EAP_METHOD_TYPE

EAP_TYPE

WlanGetProfile

WlanGetProfileCustomUserData

WlanGetProfileList

WlanSetProfile

WlanSetProfileCustomUserData

WlanSetProfileEapUserData