Condividi tramite


PNRP e WSALookupServiceNext

PNRP usa la funzione WSALookupServiceNext per trovare le corrispondenze tra le query specificate in una chiamata precedente a WSALookupServiceBegin. I risultati della funzione WSALookupServiceNext sono determinati dalle impostazioni nella struttura WSAQUERYSET passata nella chiamata di funzione WSALookupServiceBegin iniziale. Questa funzione viene usata per eseguire le due funzioni seguenti:

  • Risoluzione di un nome peer in un elenco di indirizzi
  • Enumerazione dei cloud di rete

Usando WSANSPIoctl, il servizio di ricerca può essere usato in modo asincrono. Per informazioni sull'uso asincrono delle funzioni del servizio di ricerca, vedere PNRP e 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.

Risoluzione di un nome peer in un elenco di indirizzi

Quando si risolve un nome peer in un elenco di indirizzi, la struttura LPWSAQUERYSET restituita nel parametro lpqsResults contiene i valori seguenti:

dwSize

Restituisce le dimensioni della struttura.

lpszServiceInstanceName

Restituisce un nome peer: se vengono specificati LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

lpServiceClassID

Restituisce SVCID_PNRPNAME.

lpVersion

Restituisce NULL.

lpszComment

Restituisce un commento: se vengono specificati LUP_RETURN_COMMENT, LUP_RETURN_ALL o NULL .

dwNameSpace

Restituisce NS_PNRPNAME.

lpNSProviderID

Restituisce NS_PROVIDER_PNRPNAME.

lpszContext

Restituisce il nome del cloud se vengono specificati LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

dwNumberOfProtocols

Restituisce zero (0).

lpszQueryString

Restituisce NULL.

dwNumberOfCsAddrs

Restituisce il numero di voci nella matrice di CSADDR_INFO se vengono specificati LUP_RETURN_ADDR, LUP_RETURN_ALL o NULL . Questo valore e le informazioni in lpcsaBuffer sono i bit chiave delle informazioni restituite in questa struttura.

lpcsaBuffer

Restituisce un puntatore a una matrice di strutture CSADDR_INFO se vengono specificati LUP_RETURN_ADDR, LUP_RETURN_ALL o NULL . Questo buffer e il valore in dwNumberOfCsAddrs sono i bit di informazioni chiave restituiti in questa struttura.

dwOutputFlags

Restituisce zero (0).

lpBlob

Restituisce NULL.

Enumerazione dei cloud di rete

Durante l'enumerazione dei cloud, la struttura LPWSAQUERYSET restituita nel parametro lpqsResults contiene i valori seguenti:

dwSize

Restituisce le dimensioni della struttura.

lpszServiceInstanceName

Restituisce un nome cloud: se vengono specificati LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

lpServiceClassID

Restituisce SVCID_PNRPCLOUD.

lpVersion

Restituisce NULL.

lpszComment

Restituisce NULL.

dwNameSpace

Restituisce NS_PNRPCLOUD.

lpNSProviderID

Restituisce NS_PROVIDER_PNRPCLOUD.

lpszContext

Restituisce NULL.

dwNumberOfProtocols

Restituisce zero (0).

lpszQueryString

Restituisce NULL.

dwNumberOfCsAddrs

Restituisce zero (0).

lpcsaBuffer

Restituisce NULL.

dwOutputFlags

Restituisce zero (0).

lpBlob

Restituisce un puntatore a una struttura BLOB che punta a una struttura PNRPCLOUDINFO , se vengono specificati LUP_RETURN_BLOB, LUP_RETURN_ALL o NULL .

Struttura PNRPCLOUDINFO

Durante l'enumerazione dei nomi cloud, nella struttura PNRPCLOUDINFO vengono restituiti i valori seguenti:

dwSize

Dimensione della struttura.

Cloud

Valore cloud effettivo.

enCloudState

Stato corrente di un cloud. PNRP_CLOUD_STATE specifica i valori validi.

enCloudFlags

Indica che un nome cloud è valido in una rete o valido solo in un computer corrente. PNRP_CLOUD_FLAGS specifica i valori validi. Alcuni nomi di cloud sono validi in qualsiasi computer nella stessa rete. Altri nomi cloud sono validi solo in un computer corrente e possono essere validi solo per un periodo di tempo.

  • Se enCloudFlags è impostato su PNRP_CLOUD_NAME_LOCAL, il nome è valido solo in locale.
  • Se enCloudFlags non è impostato, il nome del cloud può essere trasferito ad altri computer.

PNRP e BLOB

PNRP e WSALookupServiceEnd

PNRP e WSANSPIoctl

PNRP e WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

Codici di errore NSP PNRP

WSALookupServiceBegin