Condividi tramite


Funzione PeerPnrpStartResolve (p2p.h)

La funzione PeerPnrpStartResolve avvia un'operazione di risoluzione dei nomi peer asincrona.

Sintassi

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerPnrpStartResolve(
  [in]           PCWSTR      pcwzPeerName,
  [in, optional] PCWSTR      pcwzCloudName,
  [in, optional] ULONG       cMaxEndpoints,
  [in]           HANDLE      hEvent,
  [out]          HRESOLUTION *phResolve
);

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 per tutti i cloud. Se PEER_PNRP_ALL_LINK_CLOUDS, la risoluzione viene eseguita per tutti i cloud locali di collegamento. Quando si specifica "GLOBAL_", la risoluzione viene eseguita nel cloud globale.

[in, optional] cMaxEndpoints

Numero massimo di endpoint da restituire per il nome peer.

[in] hEvent

Handle per l'evento segnalato quando un endpoint peer viene risolto per il nome peer fornito e pronto per l'utilizzo chiamando PeerPnrpGetEndpoint. Questo evento viene segnalato per ogni endpoint individuato dal servizio PNRP. Se PEER_NO_MORE viene restituito da una chiamata a PeerPnrpGetEndpoint, tutti gli endpoint sono stati trovati per tale peer.

[out] phResolve

Gestire questa richiesta di risoluzione dei nomi peer. Questo handle deve essere fornito a PeerPnrpEndResolve dopo la generazione degli eventi di risoluzione e gli endpoint vengono ottenuti con le chiamate corrispondenti a PeerPnrpGetEndpoint o se l'operazione ha esito negativo.

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

PeerPnrpStartResolve crea un handle per un'operazione di risoluzione dei nomi peer asincrona.

Ogni volta che viene trovato un endpoint, l'handle eventi fornito in hEvent viene segnalato e PeerPnrpGetEndpoint deve essere chiamato con l'handle phResolve dall'applicazione per ottenere tale endpoint.

L'ultimo evento specifica il codice di errore PEER_E_NO_MORE che indica che sono stati trovati tutti gli endpoint corrispondenti al nome peer fornito a PeerPnrpStartResolve . Al momento, l'applicazione deve chiudere l'handle con una chiamata a PeerPnrpEndResolve.

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.

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

PeerPnrpEndResolve

PeerPnrpGetEndpoint

PeerPnrpResolve