Condividi tramite


Funzione PeerPnrpResolve (p2p.h)

La funzione PeerPnrpResolve ottiene l'indirizzo endpoint (es) registrato per un nome peer specifico.

Sintassi

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerPnrpResolve(
  [in]           PCWSTR                   pcwzPeerName,
  [in, optional] PCWSTR                   pcwzCloudName,
  [in, out]      ULONG                    *pcEndpoints,
  [out]          PPEER_PNRP_ENDPOINT_INFO *ppEndpoints
);

Parametri

[in] pcwzPeerName

Puntatore a una stringa con terminazione zero contenente il nome peer per cui verranno ottenuti gli indirizzi dell'endpoint.

[in, optional] pcwzCloudName

Puntatore a una stringa con terminazione zero contenente il nome del cloud PNRP in cui risolvere il nome del peer. Se NULL, la risoluzione viene eseguita in tutti i cloud. Se PEER_PNRP_ALL_LINK_CLOUDS, la risoluzione viene eseguita in tutti i cloud locali di collegamento. Quando "GLOBAL_", la risoluzione verrà eseguita solo nel cloud globale.

[in, out] pcEndpoints

Numero massimo di endpoint da restituire in ppEndpoints. Al termine, questo parametro contiene il numero effettivo di endpoint in ppEndpoints.

[out] ppEndpoints

Puntatore a un elenco di strutture PEER_PNRP_ENDPOINT_INFO che contengono gli endpoint per cui il nome peer è stato risolto correttamente. Ogni endpoint contiene uno o più indirizzi IP in cui è possibile raggiungere il nodo peer.

Valore restituito

Se la chiamata di funzione ha esito positivo, il valore restituito viene S_OK. In caso contrario, restituisce uno dei valori seguenti.

Codice restituito Descrizione
E_INVALIDARG
Uno dei parametri non è valido.
E_OUTOFMEMORY
Memoria insufficiente per eseguire l'operazione specificata.

Commenti

Questa chiamata è sincrona e verrà bloccata fino al completamento. Per la risoluzione dei nomi peer asincroni, chiamare PeerPnrpStartResolve e ottenere l'indirizzo dell'endpoint risolto quando viene generato l'evento fornito.

Un handle deve essere risolto in un processo separato dal processo in cui è stato registrato. Se un handle viene registrato e risolto all'interno dello stesso processo, non verrà riconosciuto.

Quando viene eseguita la risoluzione per tutti i cloud, viene rilasciata contemporaneamente a ogni cloud. Il metodo restituirà non appena ha ricevuto risultati sufficienti da qualsiasi combinazione di nuvole.

Il timeout di risoluzione predefinito usato internamente da questo metodo è 30 secondi. Se è necessario un timeout specifico, deve essere usata la funzione PeerPnrpStartResolve asincrona.

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2 [solo app desktop],Windows XP con SP1 con Advanced Networking Pack per Windows XP
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione p2p.h
Libreria P2P.lib
DLL P2P.dll

Vedi anche

PeerPnrpStartResolve