Compartir a través de


Función PeerDistRegisterForStatusChangeNotification (peerdist.h)

La función PeerDistRegisterForStatusChangeNotification solicita la notificación de cambio de estado del servicio de distribución del mismo nivel.

Sintaxis

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

Parámetros

[in] hPeerDist

Un PEERDIST_INSTANCE_HANDLE devuelto por PeerDistStartup.

[in, optional] hCompletionPort

Identificador del puerto de finalización que se puede usar para recuperar la notificación de finalización de la función asincrónica. Para crear un puerto de finalización, use la función CreateIoCompletionPort. Este parámetro puede ser NULL.

[in, optional] ulCompletionKey

Valor que se va a devolver a través del parámetro lpCompletionKey de la función GetQueuedCompletionStatus . Este parámetro se omite cuando hCompletionPort es NULL.

[in] lpOverlapped

Puntero a una estructura SUPERPUESTA . Si el miembro hEvent de la estructura no es NULL, se indicará a través de SetEvent() usado para indicar la notificación. Esto puede ocurrir incluso si el puerto de finalización se especifica a través del argumento hCompletionPort .

[out] pPeerDistStatus

Puntero a una enumeración PEERDIST_STATUS que indica el estado actual del servicio distribución del mismo nivel.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto se ERROR_IO_PENDING. De lo contrario, es posible que la función devuelva uno de los siguientes valores:

Código devuelto Descripción
ERROR_INVALID_PARAMETER
Uno o varios parámetros no son válidos.
ERROR_INVALID_HANDLE
El identificador hPeerDist no es válido.

Comentarios

Esta función registra opcionalmente un puerto de finalización y una estructura SUPERPUESTA para la notificación de cambio de estado. Una vez completada correctamente, el parámetro pPeerDistStatus contendrá un valor de PEERDIST_STATUS válido.

Solo se permite un registro activo para cada sesión. El autor de la llamada debe registrarse para recibir notificaciones cada vez que señale. La notificación se enviará solo si se cambia el estado actual de la notificación anterior. Después de la primera llamada de la función PeerDistRegisterForStatusChangeNotification para la sesión de distribución del mismo nivel, la primera notificación se desencadenará solo si el estado ya no es igual a PEERDIST_STATUS_DISABLED.

Un cambio de estado de distribución del mismo nivel puede dar lugar a que el servicio de distribución del mismo nivel se mueva a un estado disponible, no disponible o deshabilitado. Si el nuevo estado está deshabilitado o no disponible, el contenido, la información de contenido o la secuencia controla que el autor de la llamada tenga acceso a ya no funcionará. En este caso, cualquier API que use estos identificadores producirá un error PEERDIST_ ERROR_INVALIDATED. El autor de la llamada debe cerrar explícitamente los identificadores mediante una llamada a la API de distribución del mismo nivel adecuada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado peerdist.h
Library PeerDist.lib
Archivo DLL PeerDist.dll

Consulte también

PeerDistClientCloseContent

PeerDistServerCloseContentInformation

PeerDistServerCloseStreamHandle

PeerDistStartup