PeerDistRegisterForStatusChangeNotificationEx 関数 (peerdist.h)
PeerDistRegisterForStatusChangeNotificationEx 関数は、ピア配布サービスの状態変更通知を要求します。
構文
DWORD PeerDistRegisterForStatusChangeNotificationEx(
[in] PEERDIST_INSTANCE_HANDLE hPeerDist,
[in, optional] HANDLE hCompletionPort,
[in, optional] ULONG_PTR ulCompletionKey,
[in] LPOVERLAPPED lpOverlapped,
[in, out] PEERDIST_STATUS_INFO *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 引数を使用して入力候補ポートが指定されている場合でも発生する可能性があります。
[in, out] pPeerDistStatus
ピア配布 サービスの現在 の状態と機能を含むPEERDIST_STATUS_INFO構造体へのポインター。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS です。
注釈
この関数は、必要に応じて、状態変更通知用の完了ポートと OVERLAPPED 構造体を登録します。 正常に完了すると、 pPeerDistStatus パラメーターには有効な PEERDIST_STATUS 値が含まれます。
セッションごとに 1 つのアクティブな登録のみが許可されます。 呼び出し元は、通知後に毎回通知に登録する必要があります。 通知は、前の通知から現在の状態が変更された場合にのみ送信されます。 ピア配布セッションの PeerDistRegisterForStatusChangeNotification 関数の最初の呼び出しの後、状態が PEERDIST_STATUS_DISABLED と等しなくなった場合にのみ、最初の通知がトリガーされます。
ピア配布の状態を変更すると、ピア配布サービスが使用可能、使用不可、または無効の状態に移行する可能性があります。 新しい状態が無効または使用できない場合、呼び出し元がアクセスできるコンテンツ、コンテンツ情報、またはストリーム ハンドルは機能しなくなります。 この場合、これらのハンドルを使用するすべての API はエラー PEERDIST_ ERROR_INVALIDATEDで失敗します。 呼び出し元は、適切なピア分散 API を呼び出して、ハンドルを明示的に閉じる必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | peerdist.h |
こちらもご覧ください
PeerDistServerCloseContentInformation