Функция PeerGraphOpen (p2p.h)
Функция PeerGraphOpen открывает одноранговый граф, созданный ранее локальным или удаленным узлом. Возвращается дескриптор однорангового графа, но сетевое подключение не установлено.
Синтаксис
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
);
Параметры
[in] pwzGraphId
Указывает идентификатор открываемого однорангового графа. Этот идентификатор должен совпадать с идентификатором, используемым при вызове PeerGraphCreate.
[in] pwzPeerId
Указывает уникальный идентификатор однорангового узла, открывающего граф.
[in] pwzDatabaseName
Указывает имя базы данных, связанной с этим одноранговым графом на момент создания или открытия графа в первый раз.
[in] pSecurityInterface
Указывает поставщик безопасности для однорангового графа. Этот параметр должен указывать то же значение, что и pSecurityInterface , указанный в исходном вызове PeerGraphCreate.
[in] cRecordTypeSyncPrecedence
Указывает количество типов записей в параметре pRecordTypeSyncPrecedence .
[in] pRecordTypeSyncPrecedence
Указывает на массив типов записей. Этот массив задает порядок синхронизации записей указанных типов записей. Порядок может быть равен от нуля (0) до N, где 0 — это первый тип записи для синхронизации. Если тип записи не указан в массиве, он синхронизируется в порядке по умолчанию после синхронизации типов, указанных в массиве.
Укажите значение NULL , чтобы использовать порядок по умолчанию. Этот параметр должен иметь значение NULL, если cRecordTypeSyncPrecedence равно нулю (0).
[out] phGraph
Получает дескриптор открытого однорангового графа. Если этот дескриптор не требуется, освободите его, вызвав PeerGraphClose.
Возвращаемое значение
Возвращает S_OK, если существующая база данных была успешно открыта. В противном случае функция возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
|
Один из параметров недопустим. |
|
Недостаточно памяти для выполнения указанной операции. |
|
Существующая база данных не найдена, и новая база данных успешно создана. Если существующая база данных успешно найдена и открыта, возвращается S_OK . |
|
Дескриптор однорангового графа недопустим. |
|
Одноранговый граф необходимо инициализировать с помощью вызова PeerGraphStartup перед использованием этой функции. |
Комментарии
Если вы разработали собственный поставщик общих служб, приложение не должно вызывать API PeerGraphing для доступа к данным в базе данных графирования, так как это может привести к взаимоблокировке. Вместо этого приложение должно искать кэшированную копию сведений.
После вызова PeerGraphOpen приложение может подписаться на события или импортировать базу данных или и то, и другое.
Пока одноранговый граф не будет синхронизирован хотя бы один раз, многие функции недоступны (например, PeerGraphListen или любая из функций управления записями), и все вызовы этих функций завершаются ошибкой. Одноранговый граф синхронизируется по крайней мере один раз, когда происходит одно из следующих действий:
- Вызов PeerGraphOpen возвращает S_OK, что означает, что уже синхронизированная база данных найдена.
- Была вызвана функция PeerGraphCreate .
- Событие PEER_GRAPH_EVENT_STATUS_CHANGED активировано, и установлен флаг PEER_GRAPH_STATUS_SYNCHRONIZED элемента dwStatus .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [только классические приложения], Windows XP с пакетом обновления 1 (SP1) с дополнительным сетевым пакетом для Windows XP |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | p2p.h |
Библиотека | P2PGraph.lib |
DLL | P2PGraph.dll |