PNRP und WSANSPIoctl

PNRP verwendet die WSANSPIoctl-Funktion, um Benachrichtigungen zu Änderungen an Folgenden zu erhalten:

  • Liste der Netzwerkclouds
  • Verfügbarkeit der Ergebnisse einer Namensauflösungsanforderung

Der erste Aufruf von WSALookupServiceBegin definiert den Informationstyp, über den ein Client benachrichtigt wird. Ein Client kann mit einer Windows Nachricht, einer Abschlussroutine, einem Handle für ein WSAEVENT-Objekt oder einem Port benachrichtigt werden. Weitere Informationen zu Optionen und zum Festlegen des lpCompletion-Parameters finden Sie unter WSANSPIoctl.

Um nach einem Aufruf von WSALookupServiceNextweiterhin Benachrichtigungen zu erhalten, muss eine Anwendung WSANSPIoctl erneut aufrufen.

Die WSALookupServiceNext-Funktion blockiert auch dann, wenn WSANSPIoctl aufgerufen wird. Vor dem Aufrufen von WSALookupServiceNext muss eine Anwendung warten, bis sie eine Benachrichtigung empfängt– wenn die Blockierung ein Problem ist.

Beim Aufrufen dieser Funktion müssen die Parameter die folgenden Werte aufweisen:

Wverweis

Gibt das Handle an, das WSALookupServiceBegin zurückgibt.

dwControlCode

Muss SIO _ NSP _ NOTIFY _ CHANGE sein.

lpvInBuffer

Muss NULL sein.

cbInBuffer

Muss 0 (null) sein.

lpvOutBuffer

Muss NULL sein.

cbOutBuffer

Muss 0 (null) sein.

lpcbBytesReturned

Muss NULL sein.

lpCompletion

Gibt entweder NULL oder einen Zeiger auf eine WSACOMPLETION-Struktur an.

Nachdem eine Benachrichtigung empfangen wurde, rufen Sie WSALookupServiceNext einmal auf, um die Ergebnisse abzurufen.

Um eine Suche zu beenden, rufen Sie WSALookupServiceEnd auf.

Auflösungsbenachrichtigungen

Ein Client kann jederzeit benachrichtigt werden, wenn ein Namensauflösungseintrag hinzugefügt wird. Der Client ruft dann WSALookupServiceNext auf, um die Auflösungsdaten abzurufen.

Wenn der Client diese Technik nicht verwendet, kann ein Aufruf von WSALookupServiceNext blockiert werden, bis das angegebene Timeout auftritt.

Cloudlistenbenachrichtigungen

Ein Client kann bei jeder Änderung an einer Gruppe von Clouds benachrichtigt werden.

Die WSALookupServiceNext-Funktion gibt WSA _ E NO _ _ MORE als Set-Trennzeichen zurück. Die Clientanwendung muss vorhandene Clouds aufzählen, bis diese Nachricht zurückgegeben wird, und dann ein Benachrichtigungsschema verwenden, um nachfolgende Änderungen abzurufen, sobald sie auftreten. Eine Clientanwendung kann auch WSALookupServiceNext aufrufen, aber der Aufruf wird blockiert, bis eine Änderung erfolgt.

Die WSALookupServiceNext-Funktion gibt eine Cloud in einer WSAQUERYSET-Struktur zurück. Eines der folgenden Flags wird im dwOutputFlags-Member zurückgegeben.

Wert Beschreibung
ERGEBNIS _ _ HINZUGEFÜGT Die zurückgegebene Cloud wird hinzugefügt.
ERGEBNIS _ _ GEÄNDERT Die zurückgegebene Cloud wird geändert.
ERGEBNIS _ WIRD _ GELÖSCHT Die zurückgegebene Cloud wird gelöscht und ist ungültig.

PNRP und WSALookupServiceBegin

PNRP und WSALookupServiceEnd

PNRP und WSAQUERYSET

PNRP-NSP-Fehlercodes

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET