Partager via


Fonction WlanRegisterDeviceServiceNotification (wlanapi.h)

Permet aux clients en mode utilisateur disposant de privilèges d’administrateur ou User-Mode pilotes UMDF (Driver Framework), de s’inscrire aux notifications non sollicitées correspondant aux services d’appareil qui leur intéressent.

Syntaxe

DWORD WlanRegisterDeviceServiceNotification(
  HANDLE                               hClientHandle,
  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);

Paramètres

hClientHandle

Type : HANDLE

Handle de session du client, obtenu par un appel précédent à la fonction WlanOpenHandle .

pDevSvcGuidList

Type : CONST PWLAN_DEVICE_SERVICE_GUID_LIST

Pointeur facultatif vers une structure de WLAN_DEVICE_SERVICE_GUID_LIST constante représentant le GUIDdu service d’appareil pour lequel vous souhaitez recevoir des notifications. Le membre dwIndex de la structure doit avoir une valeur inférieure à la valeur de son membre dwNumberOfItems ; sinon, une violation d’accès peut se produire. Chaque fois que vous appelez cette API, la liste des services d’appareil précédent est remplacée par la nouvelle.

Pour annuler l’inscription, définissez pDevSvcGuidListnullptrsur , ou passez un pointeur à une structure WLAN_DEVICE_SERVICE_GUID_LIST dont le membre a la dwNumberOfItems valeur 0.

Valeur retournée

Type : HRESULT

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS. Si la fonction échoue avec ERROR_ACCESS_DENIED, l’appelant ne dispose pas des autorisations suffisantes pour effectuer cette opération. L’appelant doit disposer de privilèges d’administrateur ou doit être un pilote UMDF.

Remarques

La fonction WlanRegisterDeviceServiceNotification est une extension aux API natives Wi-Fi existantes pour les services d’appareils WLAN.

Une application cliente appelle cette fonction pour inscrire et annuler l’inscription des notifications pour les services d’appareil qui lui intéressent.

Toute inscription à recevoir des notifications pour les services d’appareil provoqués par cette fonction est automatiquement annulée si l’application appelante ferme son handle d’appel (en appelant WlanCloseHandle avec le paramètre hClientHandle ) ou si le processus se termine.

Pour recevoir ces notifications, un client doit appeler cette fonction avec un paramètre pDevSvcGuidList valide et doit également appeler la fonction WlanRegisterNotification avec un argument dwNotifSource de WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (qui est défini dans wlanapi.h). L’inscription à recevoir des notifications pour les services d’appareil est en vigueur jusqu’à ce que l’application ferme le handle client (en appelant WlanCloseHandle avec le paramètre hClientHandle ), ou que le processus se termine, ou Que le processus se termine, ou que Le processus se termine, ou que l’argument pDevSvcGuidList est appelé avec un argument pDevSvcGuidList de nullptr, ou si dwNumberOfItems a la valeur 0.

Lorsque le système d’exploitation reçoit une notification de service d’appareil auprès d’un pilote IHV (Independent Hardware Vendor) et qu’un client s’est inscrit pour ces notifications à l’aide de WlanRegisterDeviceServiceNotification, le client les recevra via le WLAN_NOTIFICATION_CALLBACK qu’il avait inscrit via son appel à WlanRegisterNotification. Ce rappel est appelé pour chaque notification reçue par le client (avec une mémoire tampon distincte pour chaque notification).

Le membre NotificationSource de la structure WLAN_NOTIFICATION_DATA reçue par la fonction de rappel (autrement dit, le membre de données ) est défini sur WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE. L’objet blob de données, le GUID du service d’appareil et le code opcode associé à cette notification sont présents dans le membre pData du WLAN_NOTIFICATION_DATA, qui pointe vers une structure de type WLAN_DEVICE_SERVICE_NOTIFICATION_DATA.

Note

Le service WLAN, ou le système d’exploitation, ne vérifie pas si le GUIDdu service d’appareil pour lequel le client s’inscrit est réellement pris en charge par le pilote IHV. Il incombe au client d’interroger les services d’appareil pris en charge à l’aide de l’API WlanGetSupportedDeviceServices si nécessaire.

Spécifications

Requirement Valeur
Client minimum requis Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
Header wlanapi.h
Library OneCoreUAP.Lib