Freigeben über


WlanRegisterDeviceServiceNotification-Funktion (wlanapi.h)

Ermöglicht Es Clients im Benutzermodus mit Administratorrechten oder User-Mode Driver Framework-Treibern (UMDF), sich für unerwünschte Benachrichtigungen zu geräteinternen Diensten zu registrieren, an denen sie interessiert sind.

Syntax

DWORD WlanRegisterDeviceServiceNotification(
  HANDLE                               hClientHandle,
  const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);

Parameter

hClientHandle

Typ: HANDLE

Das Sitzungshandle des Clients, das durch einen vorherigen Aufruf der WlanOpenHandle-Funktion abgerufen wurde.

pDevSvcGuidList

Typ: CONST PWLAN_DEVICE_SERVICE_GUID_LIST

Ein optionaler Zeiger auf eine konstante WLAN_DEVICE_SERVICE_GUID_LIST Struktur, die die Gerätedienst-GUIDsdarstellt, für die Sie Benachrichtigungen empfangen möchten. Das dwIndex-Element der -Struktur muss einen Wert aufweisen, der kleiner als der Wert des dwNumberOfItems-Elements ist. andernfalls kann eine Zugriffsverletzung auftreten. Jedes Mal, wenn Sie diese API aufrufen, wird die vorherige Gerätedienstliste durch die neue ersetzt.

Um die Registrierung aufzuheben, legen Sie pDevSvcGuidList auf nullptrfest, oder übergeben Sie einen Zeiger auf eine WLAN_DEVICE_SERVICE_GUID_LIST Struktur, bei der das dwNumberOfItems Element auf 0 festgelegt ist.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS. Wenn die Funktion mit ERROR_ACCESS_DENIED fehlschlägt, verfügt der Aufrufer nicht über ausreichende Berechtigungen zum Ausführen dieses Vorgangs. Der Aufrufer muss entweder über Administratorrechte verfügen oder ein UMDF-Treiber sein.

Hinweise

Die WlanRegisterDeviceServiceNotification-Funktion ist eine Erweiterung für vorhandene native Wi-Fi-APIs für WLAN-Gerätedienste.

Eine Clientanwendung ruft diese Funktion auf, um Benachrichtigungen für geräteseitige Dienste zu registrieren und die Registrierung aufzuheben.

Jede Registrierung zum Empfangen von Benachrichtigungen für Gerätedienste, die durch diese Funktion verursacht werden, wird automatisch rückgängig machen, wenn die aufrufende Anwendung ihr aufrufende Handle schließt (durch Aufrufen von WlanCloseHandle mit dem hClientHandle-Parameter ), oder wenn der Prozess beendet wird.

Um diese Benachrichtigungen zu erhalten, muss ein Client diese Funktion mit einem gültigen pDevSvcGuidList-Parameter aufrufen und auch die WlanRegisterNotification-Funktion mit dem dwNotifSource-ArgumentWLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE aufrufen (das in wlanapi.hdefiniert ist). Die Registrierung zum Empfangen von Benachrichtigungen für Gerätedienste ist wirksam, bis die Anwendung das Clienthandle schließt (durch Aufrufen von WlanCloseHandle mit dem hClientHandle-Parameter ), oder der Prozess endet, oder WlanRegisterDeviceServiceNotification wird mit dem pDevSvcGuidList-Argumentnullptrvon aufgerufen, oder ist dwNumberOfItems auf 0 festgelegt.

Wenn das Betriebssystem eine Gerätedienstbenachrichtigung von einem IHV-Treiber (Independent Hardware Vendor) empfängt und ein Client diese Benachrichtigungen mithilfe von WlanRegisterDeviceServiceNotification registriert hat, empfängt der Client diese über den WLAN_NOTIFICATION_CALLBACK , den er über seinen Aufruf von WlanRegisterNotification registriert hatte. Dieser Rückruf wird für jede Benachrichtigung aufgerufen, die der Client empfangen hat (mit einem separaten Puffer für jede Benachrichtigung).

Das NotificationSource-Element der WLAN_NOTIFICATION_DATA Struktur, die von der Rückruffunktion (d. h. dem Datenmember ) empfangen wird, wird auf WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE festgelegt. Das Datenblob, die Gerätedienst-GUID und der dieser Benachrichtigung zugeordnete Opcode sind im pData-Member des WLAN_NOTIFICATION_DATA vorhanden, das auf eine Struktur vom Typ WLAN_DEVICE_SERVICE_NOTIFICATION_DATA verweist.

Hinweis

Der WLAN-Dienst oder das Betriebssystem überprüft nicht, ob die Gerätedienst-GUID, für die sich der Client registriert, vom IHV-Treiber tatsächlich unterstützt werden. Es liegt beim Client, bei Bedarf mithilfe der WlanGetSupportedDeviceServices-API nach unterstützten Gerätediensten abzufragen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile wlanapi.h