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.
Argomenti correlati