次の方法で共有


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

開くピア グラフの ID を指定します。 この識別子は、 PeerGraphCreate の呼び出しで使用される ID と同じである必要があります。

メモ 無効な (長い) グラフ ID を指定したピアは、グラフを開いて正常に接続できますが、レコードを検証できないため、ピアはグラフにレコードを発行できません。
 

[in] pwzPeerId

グラフを開くピアの一意の ID を指定します。

メモ 無効な (長い) グラフ ID を指定したピアは、グラフを開いて正常に接続できますが、レコードを検証できないため、ピアはグラフにレコードを発行できません。
 

[in] pwzDatabaseName

グラフが初めて作成または開かれた時点で、このピア グラフに関連付けられているデータベースの名前を指定します。

[in] pSecurityInterface

ピア グラフのセキュリティ プロバイダーを指定します。 このパラメーターは、PeerGraphCreate の元の呼び出しで指定された pSecurityInterface と同じ値を指定する必要があります。

[in] cRecordTypeSyncPrecedence

pRecordTypeSyncPrecedence パラメーターのレコードの種類の数を指定します。

[in] pRecordTypeSyncPrecedence

レコード型の配列を指します。 この配列は、指定したレコードの種類のレコードが同期される順序を指定します。 順序は 0 から N まで指定できます。ここで、0 は同期する最初のレコードの種類です。 レコード型が配列で指定されていない場合、配列で指定された型が同期された後、レコード型は既定の順序で同期されます。

既定の順序を使用するには 、NULL を 指定します。 cRecordTypeSyncPrecedence が 0 (0) の場合、このパラメーターは NULL である必要があります。

[out] phGraph

開かれたピア グラフへのハンドルを受け取ります。 このハンドルが必要ない場合や必要な場合は、 PeerGraphClose を呼び出して解放します。

戻り値

既存のデータベースが正常に開かれた場合は、S_OKを返します。 それ以外の場合、関数は次のいずれかの値を返します。

リターン コード 説明
E_INVALIDARG
パラメーターの 1 つが無効です。
E_OUTOFMEMORY
指定した操作を実行するのに十分なメモリがありません。
PEER_S_GRAPH_DATA_CREATED
既存のデータベースが見つからず、新しいデータベースが正常に作成されます。 既存のデータベースが見つかり、正常に開かれた場合は、 S_OK が返されます。
PEER_E_INVALID_GRAPH
ピア グラフへのハンドルが無効です。
PEER_E_NOT_INITIALIZED
ピア グラフは、この関数を使用する前に PeerGraphStartup の呼び出しを使用して初期化する必要があります。

注釈

独自の SSP を開発した場合、アプリケーションは PeerGraphing API を呼び出してグラフ 化データベース内のデータにアクセスしてはなりません。これはデッドロックの状況につながる可能性があるためです。 代わりに、アプリケーションは情報のキャッシュされたコピーを見る必要があります。

PeerGraphOpen が呼び出されると、アプリケーションはイベントをサブスクライブしたり、データベースをインポートしたり、またはその両方をインポートしたりできます。

ピア グラフが少なくとも 1 回同期されるまで、多くの関数 ( PeerGraphListen やレコード管理機能など) は使用できず、これらの関数に対して行われた呼び出しはすべて失敗します。 ピア グラフは、次のいずれかが発生すると少なくとも 1 回同期されます。

  • PeerGraphOpen を呼び出すと、S_OKが返されます。これは、既に同期されているデータベースが見つかったことを意味します。
  • PeerGraphCreate 関数が呼び出されました。
  • PEER_GRAPH_EVENT_STATUS_CHANGED イベントがトリガーされ、dwStatus メンバーのPEER_GRAPH_STATUS_SYNCHRONIZED フラグが設定されています。

要件

要件
サポートされている最小のクライアント Windows XP と SP2 [デスクトップ アプリのみ],Windows XP SP1 と Advanced Networking Pack forWindows XP
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー p2p.h
Library P2PGraph.lib
[DLL] P2PGraph.dll

こちらもご覧ください

PEER_SECURITY_INTERFACE

PeerGraphClose

PeerGraphCreate

PeerGraphListen