Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PeerDistRegisterForStatusChangeNotificationEx-Funktion fordert die Änderungsbenachrichtigung des Peerverteilungsdiensts an.
Syntax
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
);
Die Parameter
[in] hPeerDist
Eine vonPeerDistStartup zurückgegebene PEERDIST_INSTANCE_HANDLE.
[in, optional] hCompletionPort
Ein Handle zum Abschlussport, der zum Abrufen der Abschlussbenachrichtigung der asynchronen Funktion verwendet werden kann. Verwenden Sie zum Erstellen eines Abschlussports die CreateIoCompletionPort-Funktion . Dieser Parameter kann NULL sein.
[in, optional] ulCompletionKey
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 ÜBERLAPPENDE Struktur. Wenn das hEvent-Element der Struktur nicht NULL ist, wird es über SetEvent() signalisiert, um die Benachrichtigung zu signalisieren. Dies kann auch dann auftreten, wenn der Vervollständigungsport über das hCompletionPort-Argument angegeben wird.
[in, out] pPeerDistStatus
Ein Zeiger auf eine PEERDIST_STATUS_INFO Struktur, die den aktuellen Status und die aktuellen Funktionen des Peerverteilungsdiensts enthält.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Bemerkungen
Diese Funktion registriert optional einen Vervollständigungsport und eine ÜBERLAPPENDE Struktur für statusänderungsbenachrichtigungen. Nach erfolgreichem Abschluss enthält der Parameter pPeerDistStatus einen gültigen PEERDIST_STATUS Wert.
Für jede Sitzung ist nur eine aktive Registrierung zulässig. Der Anrufer muss sich jedes Mal nach dem Signal für die Benachrichtigung registrieren. Die Benachrichtigung wird nur gesendet, wenn der aktuelle Status von der vorherigen Benachrichtigung geändert wird. Nach dem ersten Aufruf der PeerDistRegisterForStatusChangeNotification-Funktion für die Peerverteilungssitzung wird die erste Benachrichtigung nur ausgelöst, wenn der Status nicht mehr PEERDIST_STATUS_DISABLED ist.
Eine Änderung des Peerverteilungsstatus kann dazu führen, dass der Peerverteilungsdienst zu einem verfügbaren, nicht verfügbaren oder deaktivierten Zustand wechselt. Wenn der neue Status deaktiviert oder nicht verfügbar ist, funktionieren die Inhalte, Inhaltsinformationen oder Datenstromhandles, auf die der Aufrufer Zugriff hat, nicht mehr. In diesem Fall schlägt jede API, die diese Handles verwendet, fehler PEERDIST_ ERROR_INVALIDATED fehl. Der Aufrufer muss die Handles explizit schließen, indem die entsprechende Peerverteilungs-API aufgerufen wird.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 8 [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2012 [nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | peerdist.h |
| Library | PeerDist.lib |
Siehe auch
PeerDistServerCloseContentInformation