PNRP és WSANSPIoctl
A PNRP a WSANSPIoctl függvénnyel fogadja az alábbi változásokról szóló értesítéseket:
- Hálózati felhőlista
- Névfeloldási kérelem eredményeinek rendelkezésre állása
A WSALookupServiceBeginelső hívása határozza meg az ügyfél által értesített információk típusát. Az ügyfél windowsos üzenettel, teljesítési rutinnal, WSAEVENT-objektum leírójával vagy portjával értesíthető. További információ a beállításokról és az lpCompletion paraméter beállításáról: WSANSPIoctl.
Ha a WSALookupServiceNext hívása után is szeretne értesítéseket kapni, az alkalmazásnak újra meg kell hívnia WSANSPIoctl.
A WSALookupServiceNext függvény akkor is blokkol, ha WSANSPIoctl van meghívva. Mielőtt meghívja WSALookupServiceNext, az alkalmazásnak várnia kell, amíg értesítést kap – ha a blokkolás probléma.
A függvény meghívásakor a paramétereknek a következő értékekkel kell rendelkezniük:
-
hLookup
-
Megadja a WSALookupServiceBegin által visszaadott leírót.
-
dwControlCode
-
SIO_NSP_NOTIFY_CHANGEkell lennie.
-
lpvInBuffer
-
Null kell lennie.
-
cbInBuffer
-
Nullának (0) kell lennie.
-
lpvOutBuffer
-
Null kell lennie.
-
cbOutBuffer
-
Nullának (0) kell lennie.
-
lpcbBytesReturned
-
Null kell lennie.
-
lpCompletion
-
A NULL vagy egy WSACOMPLETION struktúrára mutató mutatót ad meg.
Az értesítés beérkezése után hívja meg WSALookupServiceNext egyszer az eredmények beszerzéséhez.
A keresés befejezéséhez hívja meg WSALookupServiceEnd.
Megoldási értesítések
Az ügyfél bármikor értesítést kaphat a névfeloldási bejegyzés hozzáadásáról. Az ügyfél ezután meghívja WSALookupServiceNext a feloldási adatok lekéréséhez.
Ha az ügyfél nem használja ezt a technikát, a WSALookupServiceNexthívása a megadott időtúllépésig blokkolható.
Felhőbeli listaértesítések
Az ügyfél bármikor értesítést kaphat, ha módosul a felhők egy készlete.
A WSALookupServiceNext függvény halmazelválasztóként adja vissza a WSA_E_NO_MORE. Az ügyfélalkalmazásnak enumerálnia kell a meglévő felhőket, amíg vissza nem adja ezt az üzenetet, majd egy értesítési sémával lekérheti a későbbi módosításokat. Az ügyfélalkalmazások meghívhatják WSALookupServiceNextis, de a hívás mindaddig le van tiltva, amíg nem történik változás.
A WSALookupServiceNext függvény egy WSAQUERYSET struktúrában lévő felhőt ad vissza. A következő jelzők egyike lesz visszaadva a dwOutputFlags tagban.
Érték | Leírás |
---|---|
RESULT_IS_ADDED | A visszaadott felhő hozzá lesz adva. |
RESULT_IS_CHANGED | A visszaadott felhő módosul. |
RESULT_IS_DELETED | A visszaadott felhő törlődik, és érvénytelen. |
Kapcsolódó témakörök
-
WSALookupServiceBegin
-
WSALookupServiceEnd
-
WSAQUERYSET