共用方式為


WlanRegisterDeviceServiceNotification 函式 (wlanapi.h)

允許具有系統管理員許可權的使用者模式用戶端,或 User-Mode 驅動程式架構 (UMDF) 驅動程式,註冊對應至他們感興趣的裝置服務的未經請求的通知。

語法

DWORD WlanRegisterDeviceServiceNotification(
  HANDLE                               hClientHandle,
  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);

參數

hClientHandle

類型: 手柄

用戶端的會話控制碼,由先前呼叫 WlanOpenHandle 函式所取得。

pDevSvcGuidList

類型: CONST PWLAN_DEVICE_SERVICE_GUID_LIST

常數 WLAN_DEVICE_SERVICE_GUID_LIST 結構的選擇性指標,代表您有興趣接收通知的裝置服務 GUID。 結構的 dwIndex 成員的值必須小於其 dwNumberOfItems 成員的值;否則,可能會發生存取違規。 每次呼叫此 API 時,先前的裝置服務清單都會由新的裝置服務清單取代。

若要取消註冊,請將 pDevSvcGuidList 設定為 nullptr,或將指標傳遞至成員設定為 0 的dwNumberOfItemsWLAN_DEVICE_SERVICE_GUID_LIST結構。

返回值

類型: HRESULT

如果函式成功,則傳回值為 ERROR_SUCCESS。 如果函式失敗並 ERROR_ACCESS_DENIED,則呼叫端沒有足夠的許可權來執行此作業。 呼叫端必須具有系統管理員許可權,或必須是 UMDF 驅動程式。

備註

WlanRegisterDeviceServiceNotification 函式是 WLAN 裝置服務現有原生 Wi-Fi API 的延伸模組。

用戶端應用程式會呼叫此函式,以註冊和取消註冊其感興趣之裝置服務的通知。

如果呼叫應用程式關閉其呼叫句柄 (使用 hClientHandle 參數呼叫 WlanCloseHandle) ,或進程結束,則會自動復原由此函式所造成的任何接收裝置服務通知的註冊。

若要接收這些通知,用戶端必須使用有效的 pDevSvcGuidList 參數呼叫此函式,而且也必須呼叫 WlanRegisterNotification 函式,並將 dwNotifSource 引數 WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (定義於 ) 中 wlanapi.h。 接收裝置服務通知的註冊會生效,直到應用程式關閉用戶端句柄 (使用 hClientHandle 參數呼叫 WlanCloseHandle) ,或進程結束,或使用 pDevSvcGuidListnullptr數呼叫 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 不會檢查用戶端註冊的裝置服務 GUID是否實際受 IHV 驅動程式支援。 如果需要,用戶端可以使用 WlanGetSupportedDeviceServices API 查詢支援的裝置服務。

需求

Requirement 價值觀
最低支援的用戶端 Windows 10 內部版本 20348
支援的最低伺服器 Windows 10 內部版本 20348
Header wlanapi.h
Library OneCoreUAP.Lib