Benachrichtigung von NLA

Die NLA kann ihren Clients Benachrichtigungen über Änderungen des Netzwerkspeicherorts bereitstellen. Der Mechanismus zum Anfordern von Benachrichtigungen über Änderungsereignisse ist eine Kombination der Funktionen WSALookupServiceBegin, WSANSPIoctlund WSALookupServiceNext.

Um Änderungsbenachrichtigungen von der NLA zu erhalten, muss ein Client zuerst WSALookupServiceBegin aufrufen, um ein gültiges NLA-SP-Suchhandle abzurufen. Als Nächstes kann der Client WSALookupServiceNext oder WSANSPIoctl in beliebiger Reihenfolge aufrufen. Um sich für Benachrichtigungen zu registrieren, rufen Sie die WSANSPIoctl-Funktion mit dem _ SIO NSP _ NOTIFY _ CHANGE-Steuerungscode auf, der im dwControlCode-Parameter festgelegt ist.

Die WSALookupServiceNext-Funktion gibt WSA _ E NO MORE als _ _ Set-Trennzeichen zurück. Wenn sich ein Client mithilfe der WSANSPIoctl-Funktion für die Benachrichtigung registriert hat und WSALookupServiceNext WSA E NO MORE zurückgibt, _ zeigt der _ _ aufrufende WSALookupServiceNext erneut an, ob eine Änderung aufgetreten ist:

  • Wenn seit dem vorherigen WSA E NO MORE keine Änderungen vorgenommen _ _ _ wurden, wird WSA _ E NO MORE _ _ zurückgegeben.

  • Wenn eine Änderung aufgetreten ist oder eine Änderung aufgetreten ist und ein Abrufaufruf erfolgt ist, gibt der WSALookupServiceNext-Funktionsaufruf Netzwerke als WSAQUERYSET-Strukturen zurück, wobei eines der folgenden Flags in seinem dwOutputFlags-Member festgelegt ist:

    ERGEBNIS \_ \_ HINZUGEFÜGT ERGEBNIS \_ \_ GEÄNDERT ERGEBNIS \_ WIRD \_ GELÖSCHT

Änderungsbenachrichtigungen werden für alle Felder bereitgestellt, die sich seit dem Abrufen des NLA-Suchhandle mit dem WSALookupServiceBegin-Funktionsaufruf oder seit der letzten Enumeration geändert haben, die zum _ WSA E _ NO _ MORE-Fehler geführt hat. Wenn alle informationen zum geänderten Netzwerkspeicherort bereitgestellt werden, wird WSA _ E _ NO MORE _ zurückgegeben. Clients können einen WSANSPIoctl-Funktionsaufruf für dasselbe Abfragehandle jederzeit nacheinander erneut ausführen, wobei das _ SIO NSP _ NOTIFY _ CHANGE-Flag festgelegt ist. Diese Funktion ermöglicht es einem Client, das Abfragehandle fortlaufend wiederzuverwenden, sodass der Client keine Änderungszustandsinformationen selbst verwalten muss. Sobald ein Client keine Änderungsbenachrichtigungen mehr benötigt, sollte er das Abfragehandle mithilfe der WSALookupServiceEnd-Funktion schließen.