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 nullptr
fest, 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.h
definiert 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-Argumentnullptr
von 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 |