Freigeben über


PeerGraphOpen-Funktion (p2p.h)

Die PeerGraphOpen-Funktion öffnet ein Peerdiagramm, das zuvor entweder vom lokalen Knoten oder einem Remoteknoten erstellt wurde. Es wird ein Handle für das Peerdiagramm zurückgegeben, aber es wird keine Netzwerkverbindung hergestellt.

Syntax

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

Parameter

[in] pwzGraphId

Gibt die ID des zu öffnenden Peerdiagramms an. Dieser Bezeichner muss mit der ID übereinstimmen, die beim Aufruf von PeerGraphCreate verwendet wird.

Hinweis Ein Peer, der eine ungültige (lange) Graph-ID angibt, kann ein Diagramm öffnen und erfolgreich eine Verbindung mit diesem herstellen, aber der Peer kann keine Datensätze im Graphen veröffentlichen, da die Datensätze nicht überprüft werden können.
 

[in] pwzPeerId

Gibt die eindeutige ID des Peers an, der das Diagramm öffnet.

Hinweis Ein Peer, der eine ungültige (lange) Graph-ID angibt, kann ein Diagramm öffnen und erfolgreich eine Verbindung mit diesem herstellen, aber der Peer kann keine Datensätze im Graphen veröffentlichen, da die Datensätze nicht überprüft werden können.
 

[in] pwzDatabaseName

Gibt den Namen der Datenbank an, die diesem Peerdiagramm zugeordnet ist, wenn der Graph zum ersten Mal erstellt oder geöffnet wurde.

[in] pSecurityInterface

Gibt den Sicherheitsanbieter für ein Peerdiagramm an. Dieser Parameter muss den gleichen Wert wie die pSecurityInterface angeben, die im ursprünglichen Aufruf von PeerGraphCreate angegeben wurde.

[in] cRecordTypeSyncPrecedence

Gibt die Anzahl der Datensatztypen im pRecordTypeSyncPrecedence-Parameter an.

[in] pRecordTypeSyncPrecedence

Verweist auf ein Array von Datensatztypen. Dieses Array gibt die Reihenfolge an, in der Datensätze der angegebenen Datensatztypen synchronisiert werden. Die Reihenfolge kann null (0) bis N sein, wobei 0 der erste zu synchronisierende Datensatztyp ist. Wenn im Array kein Datensatztyp angegeben ist, wird er in der Standardreihenfolge synchronisiert, nachdem die im Array angegebenen Typen synchronisiert wurden.

Geben Sie NULL an, um die Standardreihenfolge zu verwenden. Dieser Parameter muss NULL sein, wenn cRecordTypeSyncPrecedence null (0) ist.

[out] phGraph

Empfängt ein Handle für das geöffnete Peerdiagramm. Wenn dieses Handle nicht erforderlich oder benötigt wird, geben Sie es frei, indem Sie PeerGraphClose aufrufen.

Rückgabewert

Gibt S_OK zurück, wenn eine vorhandene Datenbank erfolgreich geöffnet wurde. Andernfalls gibt die Funktion einen der folgenden Werte zurück:

Rückgabecode Beschreibung
E_INVALIDARG
Einer der Parameter ist ungültig.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um den angegebenen Vorgang auszuführen.
PEER_S_GRAPH_DATA_CREATED
Eine vorhandene Datenbank wurde nicht gefunden, und eine neue Datenbank wurde erfolgreich erstellt. Wenn eine vorhandene Datenbank gefunden und erfolgreich geöffnet wurde, wird S_OK zurückgegeben.
PEER_E_INVALID_GRAPH
Das Handle für das Peerdiagramm ist ungültig.
PEER_E_NOT_INITIALIZED
Das Peerdiagramm muss mit einem Aufruf von PeerGraphStartup initialisiert werden, bevor diese Funktion verwendet wird.

Hinweise

Wenn Sie Einen eigenen SSP entwickelt haben, darf Ihre Anwendung die PeerGraphing-API nicht aufrufen, um auf Daten in der Graphingdatenbank zuzugreifen, da dies zu einem Deadlock führen kann. Stattdessen sollte die Anwendung eine zwischengespeicherte Kopie der Informationen anzeigen.

Nachdem PeerGraphOpen aufgerufen wurde, kann eine Anwendung Ereignisse abonnieren oder eine Datenbank oder beides importieren.

Bis ein Peerdiagramm mindestens einmal synchronisiert wird, sind viele Funktionen nicht verfügbar (z. B. PeerGraphListen oder eine der Datensatzverwaltungsfunktionen), und alle Aufrufe dieser Funktionen schlagen fehl. Ein Peerdiagramm wird mindestens einmal synchronisiert, wenn eine der folgenden Aktionen auftritt:

  • Ein Aufruf von PeerGraphOpen gibt S_OK zurück, was bedeutet, dass eine bereits synchronisierte Datenbank gefunden wurde.
  • Die PeerGraphCreate-Funktion wurde aufgerufen.
  • Das PEER_GRAPH_EVENT_STATUS_CHANGED-Ereignis wurde ausgelöst, und das PEER_GRAPH_STATUS_SYNCHRONIZED-Flag des dwStatus-Elements wurde festgelegt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps],Windows XP mit SP1 mit dem Erweiterten Netzwerkpaket fürWindows XP
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile p2p.h
Bibliothek P2PGraph.lib
DLL P2PGraph.dll

Weitere Informationen

PEER_SECURITY_INTERFACE

PeerGraphClose

PeerGraphErstellen

PeerGraphListen