Compartilhar via


Função PeerPnrpStartResolve (p2p.h)

A função PeerPnrpStartResolve inicia uma operação assíncrona de resolução de nome de par.

Sintaxe

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

Parâmetros

[in] pcwzPeerName

Ponteiro para uma cadeia de caracteres terminada em zero que contém o nome do par para o qual os endereços do ponto de extremidade serão obtidos.

[in, optional] pcwzCloudName

Ponteiro para uma cadeia de caracteres terminada em zero que contém o nome da nuvem PNRP sob a qual resolve o nome do par. Se FOR NULL, a resolução será executada para todas as nuvens. Se PEER_PNRP_ALL_LINK_CLOUDS, a resolução será executada para todas as nuvens locais de link. Quando "GLOBAL_" é especificado, a resolução ocorre na nuvem global.

[in, optional] cMaxEndpoints

O número máximo de pontos de extremidade a serem retornados para o nome do par.

[in] hEvent

Manipule para o evento sinalizado quando um ponto de extremidade par é resolvido para o nome do par fornecido e está pronto para consumo chamando PeerPnrpGetEndpoint. Esse evento é sinalizado para cada ponto de extremidade descoberto pelo serviço PNRP. Se PEER_NO_MORE for retornado por uma chamada para PeerPnrpGetEndpoint, todos os pontos de extremidade serão encontrados para esse par.

[out] phResolve

Manipule para essa solicitação de resolução de nome de par. Esse identificador deve ser fornecido a PeerPnrpEndResolve depois que os eventos de resolução forem gerados e os pontos de extremidade forem obtidos com chamadas correspondentes para PeerPnrpGetEndpoint ou se a operação falhar.

Retornar valor

Se a chamada de função for bem-sucedida, o valor retornado será S_OK. Caso contrário, ele retornará um dos valores a seguir.

Código de retorno Descrição
E_INVALIDARG
Um dos parâmetros não é válido.
E_OUTOFMEMORY
Não há memória suficiente para executar a operação especificada.

Comentários

PeerPnrpStartResolve cria um identificador para uma operação assíncrona de resolução de nome de par.

Sempre que um ponto de extremidade é encontrado, o identificador de evento fornecido em hEvent é sinalizado e PeerPnrpGetEndpoint deve ser chamado com o identificador phResolve pelo aplicativo para obter esse ponto de extremidade.

O último evento especifica o código de erro PEER_E_NO_MORE, indicando que todos os pontos de extremidade correspondentes ao nome do par fornecido a PeerPnrpStartResolve foram encontrados. Neste momento, o aplicativo deve fechar o identificador com uma chamada para PeerPnrpEndResolve.

Um identificador deve ser resolvido em um processo separado do processo em que foi registrado. Se um identificador for registrado e resolvido dentro do mesmo processo, ele não será reconhecido.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho], Windows XP com SP1 com o Pacote de Rede Avançado para Windows XP
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho p2p.h
Biblioteca P2P.lib
DLL P2P.dll

Confira também

PeerPnrpEndResolve

PeerPnrpGetEndpoint

PeerPnrpResolve