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 と同じである必要があります。
[in] pwzPeerId
グラフを開くピアの一意の 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を返します。 それ以外の場合、関数は次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
パラメーターの 1 つが無効です。 |
|
指定した操作を実行するのに十分なメモリがありません。 |
|
既存のデータベースが見つからず、新しいデータベースが正常に作成されます。 既存のデータベースが見つかり、正常に開かれた場合は、 S_OK が返されます。 |
|
ピア グラフへのハンドルが無効です。 |
|
ピア グラフは、この関数を使用する前に 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 |