PeerDistRegisterForStatusChangeNotification-Funktion (peerdist.h)
Die Funktion PeerDistRegisterForStatusChangeNotification fordert den Peerverteilungsdienst status Änderungsbenachrichtigung an.
Syntax
DWORD PeerDistRegisterForStatusChangeNotification(
[in] PEERDIST_INSTANCE_HANDLE hPeerDist,
[in, optional] HANDLE hCompletionPort,
[in, optional] ULONG_PTR ulCompletionKey,
[in] LPOVERLAPPED lpOverlapped,
[out] PEERDIST_STATUS *pPeerDistStatus
);
Parameter
[in] hPeerDist
Eine vonPeerDistStartup zurückgegebene PEERDIST_INSTANCE_HANDLE.
[in, optional] hCompletionPort
Ein Handle für den Vervollständigungsport, der zum Abrufen der Abschlussbenachrichtigung der asynchronen Funktion verwendet werden kann. Verwenden Sie zum Erstellen eines Abschlussports die Funktion CreateIoCompletionPort. Dieser Parameter kann NULL sein.
[in, optional] ulCompletionKey
Der Wert, der über den lpCompletionKey-Parameter der GetQueuedCompletionStatus-Funktion zurückgegeben werden soll. Dieser Parameter wird ignoriert, wenn hCompletionPortNULL ist.
[in] lpOverlapped
Zeiger auf eine OVERLAPPED-Struktur . Wenn der hEvent-Member der -Struktur nicht NULL ist, wird es über SetEvent() signalisiert, mit dem die Benachrichtigung signalisiert wird. Dies kann auch dann der Fall sein, wenn der Abschlussport über das Argument hCompletionPort angegeben wird.
[out] pPeerDistStatus
Ein Zeiger auf eine PEERDIST_STATUS-Enumeration, die die aktuelle status des Peerverteilungsdiensts angibt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_IO_PENDING. Andernfalls gibt die Funktion möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Mindestens ein Parameter ist ungültig. |
|
Das hPeerDist-Handle ist ungültig. |
Hinweise
Diese Funktion registriert optional einen Abschlussport und eine OVERLAPPED-Struktur für status Änderungsbenachrichtigung. Nach erfolgreichem Abschluss enthält der Parameter pPeerDistStatus einen gültigen PEERDIST_STATUS Wert.
Es ist nur eine aktive Registrierung für jede Sitzung zulässig. Der Anrufer muss sich jedes Mal nach dem Signal für eine Benachrichtigung registrieren. Die Benachrichtigung wird nur gesendet, wenn die aktuelle status gegenüber der vorherigen Benachrichtigung geändert wurde. Nach dem ersten Aufruf der PeerDistRegisterForStatusChangeNotification-Funktion für die Peerverteilungssitzung wird die erste Benachrichtigung nur ausgelöst, wenn die status nicht mehr gleich PEERDIST_STATUS_DISABLED ist.
Eine Peerverteilung status Änderung kann dazu führen, dass der Peerverteilungsdienst in einen verfügbaren, nicht verfügbaren oder deaktivierten Zustand wechselt. Wenn die neue status deaktiviert oder nicht verfügbar ist, funktionieren die Inhalte, Inhaltsinformationen oder Streamhandles, auf die der Aufrufer Zugriff hat, nicht mehr. In diesem Fall schlägt jede API, die diese Handles verwendet, mit Fehler PEERDIST_ ERROR_INVALIDATED fehl. Der Aufrufer muss die Handles explizit schließen, indem er die entsprechende Peerverteilungs-API aufruft.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | peerdist.h |
Bibliothek | PeerDist.lib |
DLL | PeerDist.dll |
Weitere Informationen
PeerDistServerCloseContentInformation