Partager via


PeerDistRegisterForStatusChangeNotification, fonction (peerdist.h)

La fonction PeerDistRegisterForStatusChangeNotification demande le service de distribution d’homologues status notification de modification.

Syntaxe

DWORD PeerDistRegisterForStatusChangeNotification(
  [in]           PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in, optional] HANDLE                   hCompletionPort,
  [in, optional] ULONG_PTR                ulCompletionKey,
  [in]           LPOVERLAPPED             lpOverlapped,
  [out]          PEERDIST_STATUS          *pPeerDistStatus
);

Paramètres

[in] hPeerDist

Une PEERDIST_INSTANCE_HANDLE retournée par PeerDistStartup.

[in, optional] hCompletionPort

Handle vers le port d’achèvement qui peut être utilisé pour récupérer la notification d’achèvement de la fonction asynchrone. Pour créer un port d’achèvement, utilisez la fonction CreateIoCompletionPort. Ce paramètre peut être NULL.

[in, optional] ulCompletionKey

Valeur à retourner via le paramètre lpCompletionKey de la fonction GetQueuedCompletionStatus . Ce paramètre est ignoré lorsque hCompletionPort a la valeur NULL.

[in] lpOverlapped

Pointeur vers une structure CHEVAUCHÉE . Si le membre hEvent de la structure n’est pas NULL, il est signalé via SetEvent() utilisé pour signaler la notification. Cela peut se produire même si le port d’achèvement est spécifié via l’argument hCompletionPort .

[out] pPeerDistStatus

Pointeur vers une énumération PEERDIST_STATUS qui indique la status actuelle du service de distribution d’homologues.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_IO_PENDING. Sinon, la fonction peut retourner l’une des valeurs suivantes :

Code de retour Description
ERROR_INVALID_PARAMETER
Un ou plusieurs paramètres ne sont pas valides.
ERROR_INVALID_HANDLE
Le handle hPeerDist n’est pas valide.

Remarques

Cette fonction inscrit éventuellement un port d’achèvement et une structure CHEVAUCHEMENT POUR status notification de modification. Une fois l’opération terminée, le paramètre pPeerDistStatus contient une valeur de PEERDIST_STATUS valide.

Une seule inscription active pour chaque session est autorisée. L’appelant doit s’inscrire pour la notification chaque fois qu’il signale. La notification est envoyée uniquement si le status actuel est modifié par rapport à la notification précédente. Après le premier appel de la fonction PeerDistRegisterForStatusChangeNotification pour la session de distribution d’homologues, la première notification se déclenche uniquement si la status n’est plus égale à PEERDIST_STATUS_DISABLED.

Une modification de status de distribution d’homologues peut entraîner le passage du service de distribution homologue à un état disponible, indisponible ou désactivé. Si la nouvelle status est désactivée ou non disponible, le contenu, les informations de contenu ou les handles de flux à laquelle l’appelant a accès ne fonctionnent plus. Dans ce cas, toute API qui utilise ces handles échoue avec une erreur PEERDIST_ ERROR_INVALIDATED. L’appelant doit fermer explicitement les handles en appelant l’API de distribution d’homologue appropriée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête peerdist.h
Bibliothèque PeerDist.lib
DLL PeerDist.dll

Voir aussi

PeerDistClientCloseContent

PeerDistServerCloseContentInformation

PeerDistServerCloseStreamHandle

PeerDistStartup