wlanHostedNetworkSetProperty 函数 (wlanapi.h)

WlanHostedNetworkSetProperty 函数设置无线托管网络的静态属性。

语法

DWORD WlanHostedNetworkSetProperty(
  [in]            HANDLE                      hClientHandle,
  [in]            WLAN_HOSTED_NETWORK_OPCODE  OpCode,
  [in]            DWORD                       dwDataSize,
  [in]            PVOID                       pvData,
  [out, optional] PWLAN_HOSTED_NETWORK_REASON pFailReason,
                  PVOID                       pvReserved
);

参数

[in] hClientHandle

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

[in] OpCode

要设置的属性的标识符。 此标识符只能是 wlanapi.h 头文件中定义的 WLAN_HOSTED_NETWORK_OPCODE 枚举中的以下值:

  • wlan_hosted_network_opcode_connection_settings

托管网络连接设置。

  • wlan_hosted_network_opcode_enable

“已启用托管网络”标志。

[in] dwDataSize

一个 值,该值指定 pvData 参数指向的缓冲区的大小(以字节为单位)。

[in] pvData

指向要设置的静态属性的缓冲区的指针。 与此缓冲区关联的数据类型取决于 OpCode 参数的值。

[out, optional] pFailReason

如果对 WlanHostedNetworkSetProperty 函数的调用失败,则为指向接收失败原因的值的可选指针。 失败原因的可能值来自 wlanapi.h 头文件中定义的 WLAN_HOSTED_NETWORK_REASON 枚举类型。

pvReserved

保留供将来使用。 此参数必须为 NULL

返回值

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

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

返回代码 说明
ERROR_ACCESS_DENIED
调用方没有足够的权限。 如果已wlan_hosted_network_opcode_enableOpCode 参数,并且域上的组策略禁用了无线托管网络,则也会返回此错误。
ERROR_BAD_PROFILE
无线托管网络使用的网络连接配置文件已损坏。
ERROR_INVALID_HANDLE
句柄无效。 如果在句柄表中找不到 hClientHandle 参数中指定的句柄,则返回此错误。
ERROR_INVALID_PARAMETER
参数不正确。 如果出现以下任一情况,将返回此错误:
  • hClientHandleNULL
  • OpCode 不是 WLAN_HOSTED_NETWORK_OPCODE中定义的枚举值之一。
  • dwDataSize 为零。
  • pvDataNULL
  • pvData 不指向格式正确的静态属性。
  • pvReserved 不为 NULL
ERROR_INVALID_STATE
资源未处于执行所请求操作的正确状态。 如果无线托管网络正在关闭,则可能会发生这种情况。
ERROR_NOT_SUPPORTED
不支持该请求。 如果应用程序调用 WlanHostedNetworkSetProperty 函数,并将 OpCode 参数设置为 wlan_hosted_network_opcode_station_profilewlan_hosted_network_opcode_security_settings,则返回此错误。
ERROR_SERVICE_NOT_ACTIVE
该服务尚未启动。 如果 WLAN 自动配置服务未运行,则返回此错误。
其他
各种 RPC 和其他错误代码。 使用 FormatMessage 获取返回错误的消息字符串。

注解

WlanHostedNetworkSetProperty 函数是本机无线 API 的扩展,添加了支持 Windows 7 和 Windows Server 2008 R2 上安装了无线 LAN 服务的无线托管网络。

客户端应用程序调用 WlanHostedNetworkSetProperty 函数来设置无线托管网络的当前静态属性。 如果调用应用程序通过使用 hClientHandle 参数) 调用 WlanCloseHandle 关闭其调用句柄 (,则此函数引起的任何托管网络属性更改都不会自动撤消,或者如果进程结束。

pvData 参数指向的缓冲区关联的数据类型取决于 OpCode 参数的值,如下所示:

OpCode 说明
wlan_hosted_network_opcode_connection_settings 指向 WLAN_HOSTED_NETWORK_CONNECTION_SETTINGS 结构的指针在 pvData 参数中传递。
wlan_hosted_network_opcode_enable 指向 BOOL 的指针在 pvData 参数中传递。
 

如果在将 OpCode 参数设置为 wlan_hosted_network_opcode_enable 的情况下调用 WlanHostedNetworkSetProperty 函数,则用户必须具有相应的关联权限。 权限存储在与WLAN_SECURABLE_OBJECT关联的 DACL) (自由访问控制列表中。 若要使用 opCode 参数 wlan_hosted_network_opcode_enable 调用 WlanHostedNetworkSetProperty 函数,调用方的客户端访问令牌必须具有由 WLAN_SECURABLE_OBJECT 中的以下枚举公开的提升权限:

  • wlan_secure_hosted_network_elevated_access

如果 WlanHostedNetworkSetProperty 函数在 OpCode 参数中传递了以下任何值,则函数将失败并 ERROR_NOT_SUPPORTED

  • wlan_hosted_network_opcode_station_profile
  • wlan_hosted_network_opcode_connection_settings

为了成功, WlanHostedNetworkSetProperty 函数必须保留新设置,这些设置要求将托管网络状态转换为 wlan_hosted_network_idle (如果它当前正在运行 (wlan_hosted_network_active) )。

任何用户都可以调用此函数来设置托管网络属性。 但是,若要设置 wlan_hosted_network_opcode_enable 标志需要提升的权限。 启用无线托管网络的功能也可能受到域中的组策略的限制。

在 Windows 7 及更高版本上,如果计算机上存在支持托管网络的无线适配器,则操作系统将安装虚拟设备。 如果计算机具有单个无线网络适配器,此虚拟设备通常显示在“网络Connections文件夹中”显示为“无线网络连接 2”,设备名称为“Microsoft 虚拟 WiFi 微型端口适配器”。 此虚拟设备专门用于执行软接入点 (SoftAP) 连接,并且不存在于 WlanEnumInterfaces 函数返回的列表中。 此虚拟设备的生存期与物理无线适配器相关联。 如果物理无线适配器处于禁用状态,此虚拟设备也将被删除。 此功能在安装了无线 LAN 服务的 Windows Server 2008 R2 上也可用。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 wlanapi.h (包括 Wlanapi.h)
Library Wlanapi.lib
DLL Wlanapi.dll

另请参阅

关于无线托管网络

使用无线托管网络和 Internet 连接共享

WLAN_HOSTED_NETWORK_CONNECTION_SETTINGS

WLAN_HOSTED_NETWORK_OPCODE

WLAN_HOSTED_NETWORK_REASON

WlanCloseHandle

WlanEnumInterfaces

WlanHostedNetworkInitSettings

WlanHostedNetworkQueryProperty

WlanHostedNetworkQuerySecondaryKey

WlanHostedNetworkRefreshSecuritySettings

WlanHostedNetworkSetSecondaryKey

WlanOpenHandle