Freigeben über


PeerDistRegisterForStatusChangeNotificationEx-Funktion (peerdist.h)

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

CreateIoCompletionPort-

GetQueuedCompletionStatus-

PEERDIST_STATUS

PeerDistServerCloseContentInformation

PeerDistServerRetrieveContentInformation

PeerDistStartup