Função PeerDistServerPublishStream (peerdist.h)

A função PeerDistServerPublishStream inicializa um novo fluxo a ser publicado no serviço distribuição de pares.

Sintaxe

DWORD PeerDistServerPublishStream(
  [in]           PEERDIST_INSTANCE_HANDLE       hPeerDist,
                 DWORD                          cbContentIdentifier,
  [in]           PBYTE                          pContentIdentifier,
                 ULONGLONG                      cbContentLength,
  [in, optional] PCPEERDIST_PUBLICATION_OPTIONS pPublishOptions,
  [in, optional] HANDLE                         hCompletionPort,
  [in, optional] ULONG_PTR                      ulCompletionKey,
  [out]          PPEERDIST_STREAM_HANDLE        phStream
);

Parâmetros

[in] hPeerDist

Um PEERDIST_INSTANCE_HANDLE retornado por PeerDistStartup.

cbContentIdentifier

O comprimento, em bytes, do buffer que contém dados do identificador de conteúdo.

[in] pContentIdentifier

Um ponteiro para uma matriz que contém dados de identificador de conteúdo.

cbContentLength

O comprimento, em bytes, do conteúdo a ser publicado. Esse valor poderá ser 0 se o comprimento do conteúdo ainda não for conhecido. Se um argumento diferente de zero for fornecido, ele deverá corresponder ao comprimento total de dados adicionado por chamadas de função PeerDistServerPublishAddToStream .

[in, optional] pPublishOptions

Ponteiro para uma estrutura de PEERDIST_PUBLICATION_OPTIONS que especifica regras de publicação de conteúdo.

[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 retornado por meio do parâmetro lpCompletionKey da função GetQueuedCompletionStatus . Esse parâmetro é ignorado quando hCompletionPort é NULL.

[out] phStream

Um ponteiro que recebe um identificador para o fluxo usado para publicar dados no serviço de Distribuição de Pares.

Retornar valor

Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS. 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 hPeerDist especificado é inválido.
PEERDIST_ERROR_ALREADY_EXISTS
O identificador de conteúdo usado para publicação já foi publicado.
ERROR_ACCESS_DISABLED_BY_POLICY
O recurso é desabilitado por Política de Grupo.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
O serviço está indisponível.

Comentários

Um identificador de conteúdo é um rótulo definido pelo usuário para o conteúdo que está sendo publicado. Esse identificador de conteúdo é usado para chamadas PeerDistServerOpenContentInformation, PeerDistServerUnpublish e PeerDistServerCancelAsyncOperation .

O identificador recebido pelo phStream pode ser usado em PeerDistServerPublishAddToStream e PeerDistServerPublishCompleteStream para publicar dados no serviço distribuição de pares. Esse identificador deve ser fechado por PeerDistServerCloseStreamHandle.

Uma publicação é acessível somente para a Conta de Usuário que publicou originalmente o conteúdo. Se um usuário diferente chamar PeerDistServerPublishStream com o mesmo identificador de conteúdo, uma publicação separada será criada no contexto desse usuário.

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

PeerDistServerCancelAsyncOperation

PeerDistServerCloseStreamHandle

PeerDistServerOpenContentInformation

PeerDistServerPublishAddToStream

PeerDistServerPublishCompleteStream

PeerDistServerUnpublish