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.
[in] pwzPeerId
Gibt die eindeutige ID des Peers an, der das Diagramm öffnet.
[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 |
---|---|
|
Einer der Parameter ist ungültig. |
|
Es ist nicht genügend Arbeitsspeicher vorhanden, um den angegebenen Vorgang auszuführen. |
|
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. |
|
Das Handle für das Peerdiagramm ist ungültig. |
|
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 |