Partager via


PeerDistServerPublishStream, fonction (peerdist.h)

La fonction PeerDistServerPublishStream initialise un nouveau flux à publier dans le service peer distribution.

Syntaxe

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
);

Paramètres

[in] hPeerDist

Une PEERDIST_INSTANCE_HANDLE retournée par PeerDistStartup.

cbContentIdentifier

Longueur, en octets, de la mémoire tampon qui contient des données d’identificateur de contenu.

[in] pContentIdentifier

Pointeur vers un tableau qui contient des données d’identificateur de contenu.

cbContentLength

Longueur, en octets, du contenu à publier. Cette valeur peut être 0 si la longueur du contenu n’est pas encore connue. Si un argument autre que zéro est fourni, il doit correspondre à la longueur totale des données ajoutées par les appels de fonction PeerDistServerPublishAddToStream .

[in, optional] pPublishOptions

Pointeur vers une structure de PEERDIST_PUBLICATION_OPTIONS qui spécifie des règles de publication de contenu.

[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 retournée par le biais du paramètre lpCompletionKey de la fonction GetQueuedCompletionStatus . Ce paramètre est ignoré lorsque hCompletionPort a la valeur NULL.

[out] phStream

Pointeur qui reçoit un handle vers le flux utilisé pour publier des données dans le service de distribution d’homologues.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS. 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 hPeerDist spécifié n’est pas valide.
PEERDIST_ERROR_ALREADY_EXISTS
L’identificateur de contenu utilisé pour la publication est déjà publié.
ERROR_ACCESS_DISABLED_BY_POLICY
La fonctionnalité est désactivée par stratégie de groupe.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
Le service n’est pas disponible.

Remarques

Un identificateur de contenu est une étiquette définie par l’utilisateur pour le contenu en cours de publication. Cet identificateur de contenu est utilisé pour les appels PeerDistServerOpenContentInformation, PeerDistServerUnpublish et PeerDistServerCancelAsyncOperation .

Le handle reçu par phStream peut être utilisé dans PeerDistServerPublishAddToStream et PeerDistServerPublishCompleteStream pour publier des données dans le service de distribution d’homologues. Ce handle doit être fermé par PeerDistServerCloseStreamHandle.

Une publication est accessible uniquement au compte d’utilisateur qui a initialement publié le contenu. Si un autre utilisateur appelle PeerDistServerPublishStream avec le même identificateur de contenu, une publication distincte est créée dans le contexte de cet utilisateur.

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

PeerDistServerCancelAsyncOperation

PeerDistServerCloseStreamHandle

PeerDistServerOpenContentInformation

PeerDistServerPublishAddToStream

PeerDistServerPublishCompleteStream

PeerDistServerUnpublish