Native Wifi API 权限

当调用方没有足够的权限执行请求的作时,本机 Wifi API 调用可能会失败。

权限存储在与 WLAN_SECURABLE_OBJECT关联的 自由访问控制列表(DACL) 中。 有关 DACL 和安全对象的详细信息,请参阅 DACL 如何控制对对象的访问

下表显示了使用安全对象确定调用方是否有足够的权限来执行请求的作的 Native Wifi 函数。 它还显示每个函数使用的安全对象。

功能 安全对象
WlanGetFilterListWlanSetFilterList
  • wlan_secure_deny_list
  • wlan_secure_permit_list
WlanIhvControl
  • wlan_secure_ihv_control
WlanQueryAutoConfigParameterWlanSetAutoConfigParameter
  • wlan_secure_show_denied
WlanQueryInterfaceWlanSetInterface
  • wlan_secure_ac_enabled
  • wlan_secure_bc_scan_enabled
  • wlan_secure_bss_type
  • wlan_secure_current_operation_mode
  • wlan_secure_interface_properties
  • wlan_secure_media_streaming_mode_enabled
WlanSetProfile
  • wlan_secure_add_new_all_user_profiles
  • wlan_secure_add_new_per_user_profiles
WlanSetProfileListWlanSetProfilePosition
  • wlan_secure_all_user_profiles_order

 

在上述某个命名函数完成其作之前,该函数将检索存储在适当安全对象中的 DACL。 然后,该函数检查 DACL,以查看调用方是否具有足够的权限。 WlanGet* 和 WlanQuery* 函数要求 DACL 包含 访问控制项(ACE),该条目 访问令牌 调用线程WLAN_READ_ACCESS函数。 WlanSet* 函数需要 ACE 来授予调用线程WLAN_WRITE_ACCESS的访问令牌。 如果调用方没有足够的权限,则函数调用将失败并出现错误ERROR_ACCESS_DENIED。

默认情况下,每个安全对象都有一个与其关联的 DACL。 可以使用 WlanSetSecuritySettings 函数更改存储在 DACL 中的默认权限。 若要确定在特定系统上执行作所需的有效用户权限,请调用 WlanGetSecuritySettings

所有用户配置文件都具有与配置文件本身关联的其他权限。 使用 WlanSetProfileWlanSaveTemporaryProfile创建或修改配置文件时,将建立对所有用户配置文件的权限。 strAllUserProfileSecurity 参数指定了修改配置文件、删除配置文件或使用配置文件连接到网络所需的权限。 删除或修改配置文件需要WLAN_WRITE_ACCESS权限。 使用配置文件连接到网络需要WLAN_EXECUTE_ACCESS权限。

**Windows XP with SP3 and Wireless LAN API for Windows XP with SP2: ** 不支持 WlanGetSecuritySettingsWlanSetSecuritySettings 函数。 不使用 strAllUserProfileSecurity 参数。

DACL 如何控制对对象的访问

WLAN_SECURABLE_OBJECT