Função PeerDistRegisterForStatusChangeNotification (peerdist.h)

A função PeerDistRegisterForStatusChangeNotification solicita o serviço distribuição de pares status notificação de alteração.

Sintaxe

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

Um PEERDIST_INSTANCE_HANDLE retornado por PeerDistStartup.

[in, optional] hCompletionPort

Um identificador para a porta de conclusão que pode ser usado para recuperar a notificação de conclusão da função assíncrona. Para criar uma porta de conclusão, use a função CreateIoCompletionPort. Este parâmetro pode ser NULL.

[in, optional] ulCompletionKey

Valor a ser retornado por meio do parâmetro lpCompletionKey da função GetQueuedCompletionStatus . Esse parâmetro é ignorado quando hCompletionPort é NULL.

[in] lpOverlapped

Ponteiro para uma estrutura OVERLAPPED . Se o membro hEvent da estrutura não for NULL, ele será sinalizado por meio de SetEvent() usado para sinalizar a notificação. Isso pode ocorrer mesmo se a porta de conclusão for especificada por meio do argumento hCompletionPort .

[out] pPeerDistStatus

Um ponteiro para uma enumeração PEERDIST_STATUS que indica o status atual do serviço distribuição de pares.

Retornar valor

Se a função for bem-sucedida, o valor retornado será ERROR_IO_PENDING. Caso contrário, a função pode retornar um dos seguintes valores:

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um ou mais parâmetros são inválidos.
ERROR_INVALID_HANDLE
O identificador hPeerDist é inválido.

Comentários

Essa função registra opcionalmente uma porta de conclusão e uma estrutura OVERLAPPED para status notificação de alteração. Após a conclusão bem-sucedida, o parâmetro pPeerDistStatus conterá um valor de PEERDIST_STATUS válido.

Somente um registro ativo para cada sessão é permitido. O chamador deve se registrar para notificação sempre que ele sinalizar. A notificação será enviada somente se o status atual for alterado em relação à notificação anterior. Após a primeira chamada da função PeerDistRegisterForStatusChangeNotification para a sessão distribuição de pares, a primeira notificação será disparada somente se o status não for mais igual a PEERDIST_STATUS_DISABLED.

Uma alteração status distribuição de pares pode resultar na mudança do serviço distribuição de pares para um estado disponível, indisponível ou desabilitado. Se o novo status estiver desabilitado ou indisponível, o conteúdo, as informações de conteúdo ou os identificadores de fluxo aos qual o chamador tem acesso não funcionarão mais. Nesse caso, qualquer API que usa esses identificadores falhará com o erro PEERDIST_ ERROR_INVALIDATED. O chamador deve fechar explicitamente os identificadores chamando a API de Distribuição de Pares apropriada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho peerdist.h
Biblioteca PeerDist.lib
DLL PeerDist.dll

Confira também

PeerDistClientCloseContent

PeerDistServerCloseContentInformation

PeerDistServerCloseStreamHandle

PeerDistStartup