Función PeerDistServerPublishStream (peerdist.h)

La función PeerDistServerPublishStream inicializa una nueva secuencia que se publicará en el servicio de distribución del mismo nivel.

Sintaxis

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

Un PEERDIST_INSTANCE_HANDLE devuelto por PeerDistStartup.

cbContentIdentifier

Longitud, en bytes, del búfer que contiene datos de identificador de contenido.

[in] pContentIdentifier

Puntero a una matriz que contiene datos de identificador de contenido.

cbContentLength

Longitud, en bytes, del contenido que se va a publicar. Este valor puede ser 0 si aún no se conoce la longitud del contenido. Si se proporciona un argumento distinto de cero, debe coincidir con la longitud total de datos agregada por las llamadas a la función PeerDistServerPublishAddToStream .

[in, optional] pPublishOptions

Puntero a una estructura de PEERDIST_PUBLICATION_OPTIONS que especifica reglas de publicación de contenido.

[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 devuelto a través del parámetro lpCompletionKey de la función GetQueuedCompletionStatus . Este parámetro se omite cuando hCompletionPort es NULL.

[out] phStream

Puntero que recibe un identificador de la secuencia que se usa para publicar datos en el servicio de distribución del mismo nivel.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto se ERROR_SUCCESS. 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 hPeerDist especificado no es válido.
PEERDIST_ERROR_ALREADY_EXISTS
El identificador de contenido usado para la publicación ya está publicado.
ERROR_ACCESS_DISABLED_BY_POLICY
La característica está deshabilitada por directiva de grupo.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
El servicio no está disponible.

Comentarios

Un identificador de contenido es una etiqueta definida por el usuario para el contenido que se publica. Este identificador de contenido se usa para las llamadas PeerDistServerOpenContentInformation, PeerDistServerUnpublish y PeerDistServerCancelAsyncOperation .

El identificador recibido por phStream se puede usar en PeerDistServerPublishAddToStream y PeerDistServerPublishCompleteStream para publicar datos en el servicio de distribución del mismo nivel. PeerDistServerCloseStreamHandle debe cerrar este identificador.

Una publicación solo es accesible para la cuenta de usuario que publicó originalmente el contenido. Si un usuario diferente llama a PeerDistServerPublishStream con el mismo identificador de contenido, se creará una publicación independiente en el contexto de ese usuario.

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

PeerDistServerCancelAsyncOperation

PeerDistServerCloseStreamHandle

PeerDistServerOpenContentInformation

PeerDistServerPublishAddToStream

PeerDistServerPublishCompleteStream

PeerDistServerUnpublish