Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ermöglicht Es Clients im Benutzermodus mit Administratorrechten oder User-Mode Driver Framework (UMDF)-Treibern, sich für unerwünschte Benachrichtigungen zu registrieren, die Gerätediensten entsprechen, an denen sie interessiert sind.
Syntax
DWORD WlanRegisterDeviceServiceNotification(
HANDLE hClientHandle,
const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);
Die Parameter
hClientHandle
Typ: HANDLE
Das Sitzungshandle des Clients, abgerufen durch einen vorherigen Aufruf der WlanOpenHandle-Funktion .
pDevSvcGuidList
Typ: CONST PWLAN_DEVICE_SERVICE_GUID_LIST
Ein optionaler Zeiger auf eine konstante WLAN_DEVICE_SERVICE_GUID_LIST Struktur, die die Gerätedienst-GUIDdarstellt, 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 liste der vorherigen Gerätedienste durch die neue ersetzt.
Um die Registrierung aufzuheben, legen Sie pDevSvcGuidList auf nullptroder übergeben einen Zeiger an eine WLAN_DEVICE_SERVICE_GUID_LIST Struktur, die das dwNumberOfItems Element auf 0 festgelegt hat.
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.
Bemerkungen
Die WlanRegisterDeviceServiceNotification-Funktion ist eine Erweiterung für vorhandene systemeigene Wi-Fi-APIs für WLAN-Gerätedienste.
Eine Clientanwendung ruft diese Funktion auf, um Benachrichtigungen für Gerätedienste zu registrieren und aufzuheben, an denen sie interessiert ist.
Alle Registrierungen zum Empfangen von Benachrichtigungen für Gerätedienste, die durch diese Funktion verursacht werden, werden automatisch rückgängig gemacht, wenn die aufrufende Anwendung ihr Aufrufhandle schließt (durch Aufrufen von WlanCloseHandle mit dem hClientHandle-Parameter ), oder wenn der Prozess beendet wird.
Um diese Benachrichtigungen zu empfangen, muss ein Client diese Funktion mit einem gültigen pDevSvcGuidList-Parameter aufrufen und auch die WlanRegisterNotification-Funktion mit einem dwNotifSource-Argument von WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE aufrufen (das in wlanapi.hdefiniert ist). Die Registrierung für den Empfang 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 einem pDevSvcGuidList-Argument von nullptroder hat dwNumberOfItems auf 0 festgelegt.
Wenn das Betriebssystem eine Gerätedienstbenachrichtigung von einem unabhängigen Hardwareanbieter (IHV)-Treiber empfängt und ein Client für diese Benachrichtigungen mithilfe von WlanRegisterDeviceServiceNotification registriert wurde, erhält der Client sie über die WLAN_NOTIFICATION_CALLBACK , dass er über seinen Aufruf an WlanRegisterNotification registriert wurde. 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 empfangen wird (d. h. das Datenelement ), wird auf WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE festgelegt. Der Datenblob, die Gerätedienst-GUID und der diesem Benachrichtigung zugeordnete Opcode sind im pData-Element des WLAN_NOTIFICATION_DATA vorhanden, der auf eine Struktur des Typs WLAN_DEVICE_SERVICE_NOTIFICATION_DATA verweist.
Hinweis
Der WLAN-Dienst oder das Betriebssystem überprüft nicht, ob die Gerätedienst-GUIDs, für die sich der Client registriert, tatsächlich vom IHV-Treiber unterstützt werden. Es liegt an dem Client, bei Bedarf nach unterstützten Gerätediensten mithilfe der WlanGetSupportedDeviceServices-API abzufragen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 10 Build 20348 |
| Mindestanforderungen für unterstützte Server | Windows 10 Build 20348 |
| Header | wlanapi.h |
| Library | OneCoreUAP.Lib |