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.
[in] pwzPeerId
Especifica el identificador único del par que abre el gráfico.
[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 |
---|---|
|
Uno de los parámetros no es válido. |
|
No hay suficiente memoria para realizar la operación especificada. |
|
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 . |
|
El identificador del grafo del mismo nivel no es válido. |
|
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 |