次の方法で共有


PeerPnrpStartResolve 関数 (p2p.h)

PeerPnrpStartResolve 関数は、非同期ピア名解決操作を開始します。

構文

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerPnrpStartResolve(
  [in]           PCWSTR      pcwzPeerName,
  [in, optional] PCWSTR      pcwzCloudName,
  [in, optional] ULONG       cMaxEndpoints,
  [in]           HANDLE      hEvent,
  [out]          HRESOLUTION *phResolve
);

パラメーター

[in] pcwzPeerName

エンドポイント アドレスが取得されるピア名を含む、0 で終わる文字列へのポインター。

[in, optional] pcwzCloudName

ピア名を解決する PNRP クラウドの名前を含む、0 で終わる文字列へのポインター。 NULL の場合、すべてのクラウドに対して解決が実行されます。 PEER_PNRP_ALL_LINK_CLOUDS場合、すべてのリンク ローカル クラウドに対して解決が実行されます。 "GLOBAL_" を指定すると、解決はグローバル クラウドで行われます。

[in, optional] cMaxEndpoints

ピア名に対して返されるエンドポイントの最大数。

[in] hEvent

指定されたピア名に対してピア エンドポイントが解決され、PeerPnrpGetEndpoint を呼び出して使用できる状態になったときに通知されるイベントを処理します。 このイベントは、PNRP サービスによって検出されたすべてのエンドポイントに対して通知されます。 PEER_NO_MOREが PeerPnrpGetEndpoint の呼び出しによって返された場合、そのピアのすべてのエンドポイントが見つかりました。

[out] phResolve

このピア名解決要求を処理します。 解決イベントが発生し、 PeerPnrpGetEndpoint への対応する呼び出しでエンドポイントが取得された後、または操作が失敗した場合は、このハンドルを PeerPnrpEndResolve に提供する必要があります。

戻り値

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

リターン コード 説明
E_INVALIDARG
パラメーターの 1 つが無効です。
E_OUTOFMEMORY
指定した操作を実行するのに十分なメモリがありません。

注釈

PeerPnrpStartResolve は、非同期ピア名解決操作へのハンドルを作成します。

エンドポイントが見つかると、hEvent で提供されるイベント ハンドルが通知され、そのエンドポイントを取得するには、アプリケーションによって phResolve ハンドルを使用して PeerPnrpGetEndpoint が呼び出される必要があります。

最後のイベントは、PEER_E_NO_MOREエラー コードを指定し、 PeerPnrpStartResolve に指定されたピア名に対応するすべてのエンドポイントが見つかったことを示します。 この時点で、アプリケーションは PeerPnrpEndResolve の呼び出しでハンドルを閉じる必要があります。

ハンドルは、登録されたプロセスとは別のプロセスで解決する必要があります。 同じプロセス内でハンドルが登録されて解決された場合、ハンドルは認識されません。

要件

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

こちらもご覧ください

PeerPnrpEndResolve

PeerPnrpGetEndpoint

PeerPnrpResolve