Compartilhar via


Função PeerGraphOpen (p2p.h)

A função PeerGraphOpen abre um grafo par criado anteriormente pelo nó local ou por um nó remoto. Um identificador para o grafo par é retornado, mas uma conexão de rede não é estabelecida.

Sintaxe

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphOpen(
  [in]  PCWSTR                   pwzGraphId,
  [in]  PCWSTR                   pwzPeerId,
  [in]  PCWSTR                   pwzDatabaseName,
  [in]  PPEER_SECURITY_INTERFACE pSecurityInterface,
  [in]  ULONG                    cRecordTypeSyncPrecedence,
  [in]  const GUID               *pRecordTypeSyncPrecedence,
  [out] HGRAPH                   *phGraph
);

Parâmetros

[in] pwzGraphId

Especifica a ID do grafo par a ser aberto. Esse identificador deve ser o mesmo que a ID usada na chamada para PeerGraphCreate.

Nota Um par que especifica uma ID de grafo inválida (longa) pode abrir e se conectar com êxito a um grafo, mas o par não pode publicar registros no grafo, pois os registros não podem ser validados.
 

[in] pwzPeerId

Especifica a ID exclusiva do par que abre o grafo.

Nota Um par que especifica uma ID de grafo inválida (longa) pode abrir e se conectar com êxito a um grafo, mas o par não pode publicar registros no grafo, pois os registros não podem ser validados.
 

[in] pwzDatabaseName

Especifica o nome do banco de dados associado a esse grafo par no momento em que o grafo foi criado ou aberto pela primeira vez.

[in] pSecurityInterface

Especifica o provedor de segurança para um grafo par. Esse parâmetro deve especificar o mesmo valor que o pSecurityInterface especificado na chamada original para PeerGraphCreate.

[in] cRecordTypeSyncPrecedence

Especifica o número de tipos de registro no parâmetro pRecordTypeSyncPrecedence .

[in] pRecordTypeSyncPrecedence

Aponta para uma matriz de tipos de registro. Essa matriz especifica a ordem na qual os registros dos tipos de registro especificados são sincronizados. A ordem pode ser zero (0) a N, em que 0 é o primeiro tipo de registro a ser sincronizado. Se um tipo de registro não for especificado na matriz, ele será sincronizado na ordem padrão depois que os tipos especificados na matriz forem sincronizados.

Especifique NULL para usar a ordem padrão. Esse parâmetro deverá ser NULL se cRecordTypeSyncPrecedence for zero (0).

[out] phGraph

Recebe um identificador para o grafo par aberto. Quando esse identificador não for necessário ou necessário, libere-o chamando PeerGraphClose.

Retornar valor

Retorna S_OK se um banco de dados existente foi aberto com êxito. Caso contrário, a função retornará um dos seguintes valores:

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.
PEER_S_GRAPH_DATA_CREATED
Um banco de dados existente não foi encontrado e um novo foi criado com êxito. Se um banco de dados existente for encontrado e aberto com êxito, S_OK será retornado.
PEER_E_INVALID_GRAPH
O identificador para o grafo par é inválido.
PEER_E_NOT_INITIALIZED
O grafo par deve ser inicializado usando uma chamada para PeerGraphStartup antes de usar essa função.

Comentários

Se você desenvolveu seu próprio SSP, seu aplicativo não deve chamar a API peerGraphing para acessar dados no banco de dados de grafo, pois isso pode levar a uma situação de deadlock. Em vez disso, o aplicativo deve examinar uma cópia armazenada em cache das informações.

Depois que PeerGraphOpen for chamado, um aplicativo poderá assinar eventos ou importar um banco de dados ou ambos.

Até que um grafo par seja sincronizado pelo menos uma vez, muitas funções não estarão disponíveis (por exemplo, PeerGraphListen ou qualquer uma das funções de gerenciamento de registros) e todas as chamadas feitas a essas funções falharão. Um grafo par é sincronizado pelo menos uma vez quando ocorre um dos seguintes:

  • Uma chamada para PeerGraphOpen retorna S_OK, o que significa que um banco de dados já sincronizado foi encontrado.
  • A função PeerGraphCreate foi chamada.
  • O evento PEER_GRAPH_EVENT_STATUS_CHANGED foi disparado e o sinalizador PEER_GRAPH_STATUS_SYNCHRONIZED do membro dwStatus foi definido.

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 paraWindows XP
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho p2p.h
Biblioteca P2PGraph.lib
DLL P2PGraph.dll

Confira também

PEER_SECURITY_INTERFACE

PeerGraphClose

PeerGraphCreate

PeerGraphListen