wlanapi.h) (WlanSetProfileList 函数

WlanSetProfileList 函数为给定接口设置配置文件的优先顺序。

语法

DWORD WlanSetProfileList(
  [in] HANDLE     hClientHandle,
  [in] const GUID *pInterfaceGuid,
  [in] DWORD      dwItems,
  [in] LPCWSTR    *strProfileNames,
       PVOID      pReserved
);

参数

[in] hClientHandle

客户端的会话句柄,由上一次对 WlanOpenHandle 函数的调用获取。

[in] pInterfaceGuid

接口的 GUID。

[in] dwItems

strProfileNames 参数中的配置文件数。

[in] strProfileNames

按所需顺序排列的配置文件的名称。 配置文件名称区分大小写。 此字符串必须以 NULL 结尾。

具有 SP3 的 Windows XP 和适用于 SP2 的 Windows XP 的无线 LAN API: 提供的名称必须与从网络的 SSID 自动派生的配置文件名称匹配。 对于基础结构网络配置文件,必须为配置文件名称提供 SSID。 对于临时网络配置文件,提供的名称必须是即席网络的 SSID, -adhoc后跟 。

pReserved

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

返回值

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

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

返回代码 说明
ERROR_ACCESS_DENIED
调用方没有足够的权限来更改配置文件列表。

在 WlanSetProfileList 执行更改配置文件列表中所有用户配置文件的相对顺序或将所有用户配置文件移动到配置文件列表中的较低位置的操作之前,WlanSetProfileList 将检索随 wlan_secure_all_user_profiles_order 对象一起存储 (DACL) 的任意访问控制列表。 如果 DACL 不包含向调用线程 (的访问令牌授予WLAN_WRITE_ACCESS权限的 ACE) 访问控制项,则 WlanSetProfileList 将返回 ERROR_ACCESS_DENIED

ERROR_INVALID_HANDLE
在句柄表中找不到句柄 hClientHandle
ERROR_INVALID_PARAMETER
出现以下情况之一:
  • hClientHandleNULL 或无效。
  • pInterfaceGuidNULL
  • dwItems 为 0。
  • strProfileNamesNULL
  • 同一配置文件名称在 strProfileNames 中多次出现。
  • pReserved 不为 NULL
ERROR_NOT_FOUND
strProfileNames 包含配置文件存储中不存在的配置文件的名称。
RPC_STATUS
各种错误代码。

注解

WlanSetProfileList 函数设置给定无线接口的无线 LAN 配置文件的优先顺序。

列表中的配置文件必须与 WlanGetProfileList 函数返回的当前配置文件进行一对一匹配。 无法更改组策略配置文件的位置。

执行配置文件操作时,所有无线 LAN 函数都需要无线接口的接口 GUID。 删除无线接口时,其状态将从无线 LAN 服务 (WLANSVC) 清除,并且无法执行配置文件操作。

如果 pInterfaceGuid 参数中指定的无线接口已从系统中删除, (已删除的 USB 无线适配器(例如 ) ),WlanSetProfileList 函数可能会失败并ERROR_INVALID_PARAMETER。

要求

要求
最低受支持的客户端 Windows Vista、Windows XP 和 SP3 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 wlanapi.h (包括 Wlanapi.h)
Library Wlanapi.lib
DLL Wlanapi.dll
可再发行组件 适用于 Windows XP 的无线 LAN API SP2

另请参阅

WlanGetProfile

WlanGetProfileList

WlanSetProfile