Condividi tramite


PNRP e WSALookupServiceNext

PNRP usa la funzioneWSALookupServiceper 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 WSALookupServiceBegin chiamata di funzione 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 finché 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 strutturaLPWSAQUERYSETrestituita 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_ALLo NULL.

lpServiceClassID

Restituisce SVCID_PNRPNAME.

lpVersion

Restituisce null.

lpszComment

Restituisce un commento: se vengono specificati LUP_RETURN_COMMENT, LUP_RETURN_ALLo NULL.

dwNameSpace

Restituisce NS_PNRPNAME.

lpNSProviderID

Restituisce NS_PROVIDER_PNRPNAME.

lpszContext

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

dwNumberOfProtocols

Restituisce zero (0).

lpszQueryString

Restituisce null.

dwNumberOfCsAddrs

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

lpcsaBuffer

Restituisce un puntatore a una matrice di strutture di CSADDR_INFO se vengono specificati LUP_RETURN_ADDR, LUP_RETURN_ALLo 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 di cloud di rete

Durante l'enumerazione dei cloud, la strutturaLPWSAQUERYSETrestituita 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_ALLo 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 diBLOBche punta a una strutturaPNRPCLOUDINFO, se vengono specificati LUP_RETURN_BLOB, LUP_RETURN_ALLo NULL.

Struttura PNRPCLOUDINFO

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

dwSize

Dimensione di questa 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 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