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 |
---|---|
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Le hPeerDist spécifié n’est pas valide. |
|
L’identificateur de contenu utilisé pour la publication est déjà publié. |
|
La fonctionnalité est désactivée par stratégie de groupe. |
|
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