PeerGraphOpen, fonction (p2p.h)

La fonction PeerGraphOpen ouvre un graphique d’homologue créé précédemment par le nœud local ou un nœud distant. Un handle au graphe homologue est retourné, mais aucune connexion réseau n’est établie.

Syntaxe

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
);

Paramètres

[in] pwzGraphId

Spécifie l’ID du graphique homologue à ouvrir. Cet identificateur doit être identique à l’ID utilisé dans l’appel à PeerGraphCreate.

Note Un homologue qui spécifie un ID de graphique (long) non valide peut s’ouvrir et se connecter correctement à un graphe, mais l’homologue ne peut pas publier d’enregistrements dans le graphique, car les enregistrements ne peuvent pas être validés.
 

[in] pwzPeerId

Spécifie l’ID unique de l’homologue ouvrant le graphique.

Note Un homologue qui spécifie un ID de graphique (long) non valide peut s’ouvrir et se connecter correctement à un graphe, mais l’homologue ne peut pas publier d’enregistrements dans le graphique, car les enregistrements ne peuvent pas être validés.
 

[in] pwzDatabaseName

Spécifie le nom de la base de données associée à ce graphe homologue au moment où le graphique a été créé ou ouvert pour la première fois.

[in] pSecurityInterface

Spécifie le fournisseur de sécurité pour un graphique d’homologue. Ce paramètre doit spécifier la même valeur que le pSecurityInterface spécifié dans l’appel d’origine à PeerGraphCreate.

[in] cRecordTypeSyncPrecedence

Spécifie le nombre de types d’enregistrements dans le paramètre pRecordTypeSyncPrecedence .

[in] pRecordTypeSyncPrecedence

Pointe vers un tableau de types d’enregistrements. Ce tableau spécifie l’ordre dans lequel les enregistrements des types d’enregistrements spécifiés sont synchronisés. L’ordre peut être égal à zéro (0) à N, où 0 est le premier type d’enregistrement à synchroniser. Si aucun type d’enregistrement n’est spécifié dans le tableau, il est synchronisé dans l’ordre par défaut après la synchronisation des types spécifiés dans le tableau.

Spécifiez NULL pour utiliser l’ordre par défaut. Ce paramètre doit être NULL si cRecordTypeSyncPrecedence est égal à zéro (0).

[out] phGraph

Reçoit un handle pour le graphique d’homologue ouvert. Lorsque ce handle n’est pas requis ou nécessaire, libérez-le en appelant PeerGraphClose.

Valeur retournée

Retourne S_OK si une base de données existante a été correctement ouverte. Sinon, la fonction retourne l’une des valeurs suivantes :

Code de retour Description
E_INVALIDARG
L’un des paramètres n’est pas valide.
E_OUTOFMEMORY
La mémoire est insuffisante pour effectuer l’opération spécifiée.
PEER_S_GRAPH_DATA_CREATED
Une base de données existante est introuvable et une nouvelle base de données est créée avec succès. Si une base de données existante est trouvée et ouverte avec succès, S_OK est retournée.
PEER_E_INVALID_GRAPH
Le handle du graphique d’homologue n’est pas valide.
PEER_E_NOT_INITIALIZED
Le graphe homologue doit être initialisé à l’aide d’un appel à PeerGraphStartup avant d’utiliser cette fonction.

Remarques

Si vous avez développé votre propre fournisseur de services partagés, votre application ne doit pas appeler l’API PeerGraphing pour accéder aux données de la base de données de graphique, car cela peut entraîner une situation d’interblocage. Au lieu de cela, l’application doit examiner une copie mise en cache des informations.

Une fois PeerGraphOpen appelé, une application peut s’abonner à des événements ou importer une base de données, ou les deux.

Tant qu’un graphique homologue n’est pas synchronisé au moins une fois, de nombreuses fonctions ne sont pas disponibles (par exemple , PeerGraphListen ou l’une des fonctions de gestion des enregistrements) et tous les appels effectués à ces fonctions échouent. Un graphique homologue est synchronisé au moins une fois quand l’une des opérations suivantes se produit :

  • Un appel à PeerGraphOpen retourne S_OK, ce qui signifie qu’une base de données déjà synchronisée a été trouvée.
  • La fonction PeerGraphCreate a été appelée.
  • L’événement PEER_GRAPH_EVENT_STATUS_CHANGED a été déclenché et l’indicateur PEER_GRAPH_STATUS_SYNCHRONIZED du membre dwStatus a été défini.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2 [applications de bureau uniquement],Windows XP avec SP1 avec le pack de mise en réseau avancé pour Windows XP
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête p2p.h
Bibliothèque P2PGraph.lib
DLL P2PGraph.dll

Voir aussi

PEER_SECURITY_INTERFACE

PeerGraphClose

PeerGraphCreate

PeerGraphListen