Compartir a través de


Función PeerGraphOpen (p2p.h)

La función PeerGraphOpen abre un grafo del mismo nivel creado anteriormente por el nodo local o un nodo remoto. Se devuelve un identificador para el grafo del mismo nivel, pero no se establece una conexión de red.

Sintaxis

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 el identificador del grafo del mismo nivel que se va a abrir. Este identificador debe ser el mismo que el identificador usado en la llamada a PeerGraphCreate.

Nota Un elemento del mismo nivel que especifica un identificador de grafo no válido (long) puede abrirse y conectarse correctamente a un grafo, pero el mismo nivel no puede publicar registros en el grafo, ya que los registros no se pueden validar.
 

[in] pwzPeerId

Especifica el identificador único del par que abre el gráfico.

Nota Un elemento del mismo nivel que especifica un identificador de grafo no válido (long) puede abrirse y conectarse correctamente a un grafo, pero el mismo nivel no puede publicar registros en el grafo, ya que los registros no se pueden validar.
 

[in] pwzDatabaseName

Especifica el nombre de la base de datos asociada a este grafo del mismo nivel en el momento en que se creó o abrió el grafo por primera vez.

[in] pSecurityInterface

Especifica el proveedor de seguridad de un grafo del mismo nivel. Este parámetro debe especificar el mismo valor que pSecurityInterface especificado en la llamada original a PeerGraphCreate.

[in] cRecordTypeSyncPrecedence

Especifica el número de tipos de registro en el parámetro pRecordTypeSyncPrecedence .

[in] pRecordTypeSyncPrecedence

Apunta a una matriz de tipos de registro. Esta matriz especifica el orden en el que se sincronizan los registros de los tipos de registro especificados. El orden puede ser cero (0) a N, donde 0 es el primer tipo de registro que se va a sincronizar. Si no se especifica un tipo de registro en la matriz, se sincroniza en el orden predeterminado después de sincronizar los tipos especificados en la matriz.

Especifique NULL para usar el orden predeterminado. Este parámetro debe ser NULL si cRecordTypeSyncPrecedence es cero (0).

[out] phGraph

Recibe un identificador para el gráfico del mismo nivel que se abre. Cuando este identificador no sea necesario o necesario, desactive esta llamada a PeerGraphClose.

Valor devuelto

Devuelve S_OK si se abrió correctamente una base de datos existente. De lo contrario, la función devuelve uno de los valores siguientes:

Código devuelto Descripción
E_INVALIDARG
Uno de los parámetros no es válido.
E_OUTOFMEMORY
No hay suficiente memoria para realizar la operación especificada.
PEER_S_GRAPH_DATA_CREATED
No se encuentra una base de datos existente y se crea una nueva correctamente. Si se encuentra y se abre correctamente una base de datos existente, se devuelve S_OK .
PEER_E_INVALID_GRAPH
El identificador del grafo del mismo nivel no es válido.
PEER_E_NOT_INITIALIZED
El grafo del mismo nivel se debe inicializar mediante una llamada a PeerGraphStartup antes de usar esta función.

Comentarios

Si ha desarrollado su propio SSP, la aplicación no debe llamar a PeerGraphing API para acceder a los datos de la base de datos de grafos, ya que esto puede provocar una situación de interbloqueo. En su lugar, la aplicación debe examinar una copia almacenada en caché de la información.

Después de llamar a PeerGraphOpen , una aplicación puede suscribirse a eventos o importar una base de datos, o ambas.

Hasta que se sincronice un grafo del mismo nivel al menos una vez, muchas funciones no están disponibles (por ejemplo, PeerGraphListen o cualquiera de las funciones de administración de registros) y se produce un error en las llamadas realizadas a estas funciones. Un gráfico del mismo nivel se sincroniza al menos una vez cuando se produce una de las siguientes acciones:

  • Una llamada a PeerGraphOpen devuelve S_OK, lo que significa que se ha encontrado una base de datos ya sincronizada.
  • Se ha llamado a la función PeerGraphCreate .
  • Se ha desencadenado el evento PEER_GRAPH_EVENT_STATUS_CHANGED y se ha establecido la marca PEER_GRAPH_STATUS_SYNCHRONIZED del miembro dwStatus .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2 [solo aplicaciones de escritorio],Windows XP con SP1 con advanced Networking Pack forWindows XP
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado p2p.h
Library P2PGraph.lib
Archivo DLL P2PGraph.dll

Consulte también

PEER_SECURITY_INTERFACE

PeerGraphClose

PeerGraphCreate

PeerGraphListen