wlanapi.h) (WlanRegisterDeviceServiceNotification 函数

允许具有管理员权限的用户模式客户端或 User-Mode 驱动程序框架 (UMDF) 驱动程序,注册与它们感兴趣的设备服务对应的未经请求的通知。

语法

DWORD WlanRegisterDeviceServiceNotification(
  HANDLE                               hClientHandle,
  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);

参数

hClientHandle

类型: HANDLE

客户端的会话句柄,由先前对 WlanOpenHandle 函数的调用获取。

pDevSvcGuidList

类型: CONST PWLAN_DEVICE_SERVICE_GUID_LIST

指向常 量WLAN_DEVICE_SERVICE_GUID_LIST 结构的可选指针,该结构表示要接收通知的设备服务 GUID。 结构的 dwIndex 成员的值必须小于其 dwNumberOfItems 成员的值;否则,可能会发生访问冲突。 每次调用此 API 时,以前的设备服务列表都会替换为新的设备服务列表。

若要取消注册,请将 pDevSvcGuidList 设置为 nullptr,或传递指向成员设置为 0 的WLAN_DEVICE_SERVICE_GUID_LIST 结构的 dwNumberOfItems 指针。

返回值

类型: HRESULT

如果函数成功,则返回值 ERROR_SUCCESS。 如果函数失败并 ERROR_ACCESS_DENIED,则调用方没有足够的权限来执行此操作。 调用方需要具有管理员权限,或者需要是 UMDF 驱动程序。

注解

WlanRegisterDeviceServiceNotification 函数是 WLAN 设备服务的现有本机 Wi-Fi API 的扩展。

客户端应用程序调用此函数来注册和注销它感兴趣的设备服务的通知。

如果调用应用程序通过使用 hClientHandle 参数) 调用 WlanCloseHandle 来关闭其调用句柄 (,或者进程结束,则会自动撤消针对此函数引起的设备服务接收通知的任何注册。

为了接收这些通知,客户端需要使用有效的 pDevSvcGuidList 参数调用此函数,并且还必须使用) 中wlanapi.h定义的 dwNotifSource 参数 WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (调用 WlanRegisterNotification 函数。 在应用程序通过使用 hClientHandle 参数) 调用 WlanCloseHandle 来关闭客户端句柄 (,或者进程结束,或者使用 pDevSvcGuidList 参数nullptr调用 WlanRegisterDeviceServiceNotification,或者将 dwNumberOfItems 设置为 0 之前,注册才会生效。

当操作系统 (OS) 收到来自独立硬件供应商 (IHV) 驱动程序的设备服务通知,并且客户端已使用 WlanRegisterDeviceServiceNotification 注册了这些通知时,客户端将通过通过调用 WlanRegisterNotification 注册的WLAN_NOTIFICATION_CALLBACK接收通知。 对于客户端接收的每个通知,将调用此回调 (,每个通知) 都有单独的缓冲区。

回调函数收到的WLAN_NOTIFICATION_DATA结构的 NotificationSource 成员 (,即数据成员) 将设置为WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE。 数据 Blob、设备服务 GUID 和与此通知关联的操作码将出现在WLAN_NOTIFICATION_DATApData 成员中,该成员将指向 WLAN_DEVICE_SERVICE_NOTIFICATION_DATA 类型的结构。

注意

WLAN 服务或 OS 不会检查查看 IHV 驱动程序是否实际支持客户端注册的设备服务 GUID。 客户端可以使用 WlanGetSupportedDeviceServices API 查询受支持的设备服务(如果需要)。

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 wlanapi.h