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 パラメーターを使用して返される値。 hCompletionPort が NULL の場合、このパラメーターは無視されます。
[in] lpOverlapped
OVERLAPPED 構造体へのポインター。 構造体の hEvent メンバーが NULL でない場合は、通知を通知するために使用される SetEvent() を介してシグナルが送信されます。 これは、 hCompletionPort 引数を使用して入力候補ポートが指定されている場合でも発生する可能性があります。
[out] pPeerDistStatus
ピア配布サービスの現在の状態を示す PEERDIST_STATUS 列挙体へのポインター。
戻り値
関数が成功した場合、戻り値は ERROR_IO_PENDING。 それ以外の場合は、関数から次の値のいずれかが返されます。
リターン コード | 説明 |
---|---|
|
1 つ以上のパラメーターが無効です。 |
|
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 |
こちらもご覧ください
PeerDistServerCloseContentInformation