次の方法で共有


PeerDistRegisterForStatusChangeNotification 関数 (peerdist.h)

PeerDistRegisterForStatusChangeNotification 関数は、ピア配布サービスの状態変更通知を要求します。

構文

DWORD PeerDistRegisterForStatusChangeNotification(
  [in]           PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in, optional] HANDLE                   hCompletionPort,
  [in, optional] ULONG_PTR                ulCompletionKey,
  [in]           LPOVERLAPPED             lpOverlapped,
  [out]          PEERDIST_STATUS          *pPeerDistStatus
);

パラメーター

[in] hPeerDist

PeerDistStartup によって返されるPEERDIST_INSTANCE_HANDLE

[in, optional] hCompletionPort

非同期関数の完了通知を取得するために使用できる完了ポートのハンドル。 完了ポートを作成するには、CreateIoCompletionPort 関数を使います。 このパラメーターは、NULL でもかまいません。

[in, optional] ulCompletionKey

GetQueuedCompletionStatus 関数の lpCompletionKey パラメーターを使用して返される値。 hCompletionPortNULL の場合、このパラメーターは無視されます。

[in] lpOverlapped

OVERLAPPED 構造体へのポインター。 構造体の hEvent メンバーが NULL でない場合は、通知を通知するために使用される SetEvent() を介してシグナルが送信されます。 これは、 hCompletionPort 引数を使用して入力候補ポートが指定されている場合でも発生する可能性があります。

[out] pPeerDistStatus

ピア配布サービスの現在の状態を示す PEERDIST_STATUS 列挙体へのポインター。

戻り値

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

リターン コード 説明
ERROR_INVALID_PARAMETER
1 つ以上のパラメーターが無効です。
ERROR_INVALID_HANDLE
hPeerDist ハンドルが無効です。

注釈

この関数は、必要に応じて、状態変更通知用の完了ポートと OVERLAPPED 構造体を登録します。 正常に完了すると、 pPeerDistStatus パラメーターには有効な PEERDIST_STATUS 値が含まれます。

セッションごとに 1 つのアクティブな登録のみが許可されます。 呼び出し元は、通知が送信されるたびに通知に登録する必要があります。 通知は、現在の状態が前の通知から変更された場合にのみ送信されます。 ピア配布セッションの PeerDistRegisterForStatusChangeNotification 関数の最初の呼び出しの後、状態が PEERDIST_STATUS_DISABLED に等しなくなった場合にのみ、最初の通知がトリガーされます。

ピア配布の状態が変更された場合、ピア配布サービスは使用可能、使用不可、または無効の状態に移行する可能性があります。 新しい状態が無効または使用できない場合、呼び出し元がアクセスできるコンテンツ、コンテンツ情報、またはストリームハンドルは機能しなくなります。 この場合、これらのハンドルを使用するすべての API はエラー PEERDIST_ ERROR_INVALIDATEDで失敗します。 呼び出し元は、適切なピア分散 API を呼び出してハンドルを明示的に閉じる必要があります。

要件

要件
サポートされている最小のクライアント Windows 7 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー peerdist.h
Library PeerDist.lib
[DLL] PeerDist.dll

こちらもご覧ください

PeerDistClientCloseContent

PeerDistServerCloseContentInformation

PeerDistServerCloseStreamHandle

PeerDistStartup