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