Condividi tramite


PNRP e WSANSPIoctl

PNRP usa la funzione WSANSPIoctl per ricevere notifiche sulle modifiche apportate alle seguenti:

  • Elenco di cloud di rete
  • Disponibilità dei risultati di una richiesta di risoluzione dei nomi

La prima chiamata a WSALookupServiceBegin definisce il tipo di informazioni su cui un client riceve una notifica. Un client può ricevere una notifica con un messaggio di Windows, una routine di completamento, un handle per un oggetto WSAEVENT o una porta. Per altre informazioni sulle opzioni e sull'impostazione del parametro lpCompletion , vedere WSANSPIoctl.

Per continuare a ricevere notifiche dopo una chiamata a WSALookupServiceNext, un'applicazione deve chiamare nuovamente WSANSPIoctl .

La funzione WSALookupServiceNext si blocca anche se viene chiamato WSANSPIoctl . Prima di chiamare WSALookupServiceNext, un'applicazione deve attendere fino a quando non riceve una notifica, se il blocco è un problema.

Quando si chiama questa funzione, i parametri devono avere i valori seguenti:

hLookup

Specifica l'handle restituito da WSALookupServiceBegin .

dwControlCode

Deve essere SIO_NSP_NOTIFY_CHANGE.

lpvInBuffer

Deve essere NULL.

cbInBuffer

Deve essere zero (0).

lpvOutBuffer

Deve essere NULL.

cbOutBuffer

Deve essere zero (0).

lpcbBytesReturned

Deve essere NULL.

lpCompletion

Specifica NULL o un puntatore a una struttura WSACOMPLETION .

Dopo la ricezione di una notifica, chiamare WSALookupServiceNext una volta per ottenere i risultati.

Per terminare una ricerca, chiamare WSALookupServiceEnd.

Notifiche di risoluzione

Un client può ricevere una notifica ogni volta che viene aggiunta una voce di risoluzione dei nomi. Il client chiama quindi WSALookupServiceNext per ottenere i dati di risoluzione.

Se il client non usa questa tecnica, è possibile bloccare una chiamata a WSALookupServiceNext fino a quando non si verifica il timeout specificato.

Notifiche elenco cloud

Un client può ricevere una notifica ogni volta che viene apportata una modifica a un set di cloud.

La funzione WSALookupServiceNext restituisce WSA_E_NO_MORE come delimitatore di set. L'applicazione client deve enumerare i cloud esistenti fino a quando non viene restituito questo messaggio e quindi usare uno schema di notifica per recuperare le modifiche successive non appena si verificano. Un'applicazione client può anche chiamare WSALookupServiceNext, ma la chiamata viene bloccata fino a quando non si verifica una modifica.

La funzione WSALookupServiceNext restituisce un cloud in una struttura WSAQUERYSET . Uno dei flag seguenti viene restituito nel membro dwOutputFlags .

Valore Descrizione
RESULT_IS_ADDED Viene aggiunto il cloud restituito.
RESULT_IS_CHANGED Il cloud restituito viene modificato.
RESULT_IS_DELETED Il cloud restituito viene eliminato e non è valido.

 

PNRP e WSALookupServiceBegin

PNRP e WSALookupServiceEnd

PNRP e WSAQUERYSET

Codici di errore NSP PNRP

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET