次の方法で共有


PeerGraphUpdateRecord 関数 (p2p.h)

PeerGraphUpdateRecord 関数は、ピア グラフ内のレコードを更新し、ピア グラフ内の各ノードにレコードをフラッディングします。

構文

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphUpdateRecord(
  [in] HGRAPH       hGraph,
  [in] PPEER_RECORD pRecord
);

パラメーター

[in] hGraph

ピア グラフへの処理。

[in] pRecord

レコードの新しいデータを含む PEER_RECORD 構造体へのポインター。

戻り値

関数呼び出しが成功した場合、戻り値はS_OK。 それ以外の場合は、次のいずれかの値が返されます。

リターン コード 説明
E_INVALIDARG
パラメーターの 1 つが無効です。
PEER_E_GRAPH_NOT_READY
ピア グラフは同期されていません。 グラフが同期されるまで、レコードを更新できません。
PEER_E_INVALID_GRAPH
ピア グラフへのハンドルが無効です。
PEER_E_NOT_INITIALIZED
ピア グラフは、この関数を使用する前に PeerGraphStartup の呼び出しで初期化する必要があります。
PEER_E_RECORD_NOT_FOUND
指定されたレコードが見つかりませんでした。

解説

PEER_RECORD構造体の次のメンバーを変更できます。

  • pwzAttributes
  • ftExpiration - 有効期限は増やすことができます
  • data
  • pwzLastModified - 値が指定されていない場合、既定で入力されます

このコード スニペットは、レコードを更新する方法を示しています。

// dwFlags is updated to automatically refresh the record if it is about to expire.
    record.dwFlags = PEER_RECORD_FLAG_AUTOREFRESH;
    // The record data is updated with the string contained in pwzUserData.
    record.data.cbData = (ULONG) wcslen(pwzUserData) * sizeof(WCHAR);
    record.data.pbData = (PBYTE) pwzUserData;

    HRESULT hr = PeerGraphUpdateRecord(hGraph, &record;);

    if (FAILED(hr))
    {
        // Insert your code to handle the error here.
    }
    else
    {
        // Insert your application specific code here.
    }

要件

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

関連項目

PEER_RECORD