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
重疊結構的指標。 如果結構的 hEvent 成員不是 NULL,則會透過用來發出通知的 SetEvent () 發出訊號。 即使透過 hCompletionPort 自變數指定完成埠,也會發生這種情況。
[in, out] pPeerDistStatus
包含對等散發服務目前狀態和功能的 PEERDIST_STATUS_INFO 結構的指標。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
備註
此函式會選擇性地註冊完成埠,以及狀態變更通知的 OVERLAPPED 結構。 成功完成時, pPeerDistStatus 參數會包含有效的 PEERDIST_STATUS 值。
每個會話只允許一個作用中註冊。 呼叫端必須在每次發出訊號之後註冊通知。 只有在從先前通知變更目前狀態時,才會傳送通知。 在對等散發會話的第一次呼叫 PeerDistRegisterForStatusChangeNotification 函式之後,只有在狀態不再等於 PEERDIST_STATUS_DISABLED時,才會觸發第一個通知。
對等散發狀態變更可能會導致對等散發服務移至可用、無法使用或停用狀態。 如果新的狀態已停用或無法使用,內容、內容資訊或數據流句柄呼叫端將無法再運作。 在此情況下,使用這些句柄的任何 API 都會失敗,並出現錯誤 PEERDIST_ ERROR_INVALIDATED。 呼叫端必須藉由呼叫適當的對等散發 API,明確地關閉句柄。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | peerdist.h |
另請參閱
PeerDistServerCloseContentInformation