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.
Argomenti correlati
-
PNRP e BLOB