Funzione PeerDistServerPublishStream (peerdist.h)

La funzione PeerDistServerPublishStream inizializza un nuovo flusso da pubblicare nel servizio Di distribuzione peer.

Sintassi

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

Parametri

[in] hPeerDist

Un PEERDIST_INSTANCE_HANDLE restituito da PeerDistStartup.

cbContentIdentifier

Lunghezza, in byte, del buffer che contiene i dati dell'identificatore di contenuto.

[in] pContentIdentifier

Puntatore a una matrice contenente i dati dell'identificatore di contenuto.

cbContentLength

Lunghezza, in byte, del contenuto da pubblicare. Questo valore può essere 0 se la lunghezza del contenuto non è ancora nota. Se viene specificato un argomento diverso da zero, deve corrispondere alla lunghezza totale dei dati aggiunta dalle chiamate di funzione PeerDistServerPublishAddToStream .

[in, optional] pPublishOptions

Puntatore a una struttura PEERDIST_PUBLICATION_OPTIONS che specifica le regole di pubblicazione del contenuto.

[in, optional] hCompletionPort

Handle per la porta di completamento che può essere utilizzata per recuperare la notifica di completamento della funzione asincrona. Per creare una porta di completamento, usare la funzione CreateIoCompletionPort . Questo parametro può essere NULL.

[in, optional] ulCompletionKey

Valore restituito tramite il parametro lpCompletionKey della funzione GetQueuedCompletionStatus . Questo parametro viene ignorato quando hCompletionPort è NULL.

[out] phStream

Puntatore che riceve un handle per il flusso utilizzato per pubblicare i dati nel servizio di distribuzione peer.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS. In caso contrario, la funzione può restituire uno dei valori seguenti:

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Uno o più parametri non sono validi.
ERROR_INVALID_HANDLE
L'oggetto hPeerDist specificato non è valido.
PEERDIST_ERROR_ALREADY_EXISTS
L'identificatore di contenuto utilizzato per la pubblicazione è già pubblicato.
ERROR_ACCESS_DISABLED_BY_POLICY
La funzionalità è disabilitata da Criteri di gruppo.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
Il servizio non è disponibile.

Commenti

Un identificatore di contenuto è un'etichetta definita dall'utente per il contenuto da pubblicare. Questo identificatore di contenuto viene usato per le chiamate PeerDistServerOpenContentInformation, PeerDistServerUnpublish e PeerDistServerCancelAsyncOperation .

L'handle ricevuto da phStream può essere usato in PeerDistServerPublishAddToStream e PeerDistServerPublishCompleteStream per pubblicare i dati nel servizio di distribuzione peer. Questo handle deve essere chiuso da PeerDistServerCloseStreamHandle.

Una pubblicazione è accessibile solo all'account utente che ha originariamente pubblicato il contenuto. Se un utente diverso chiama PeerDistServerPublishStream con lo stesso identificatore di contenuto, verrà creata una pubblicazione separata nel contesto di tale utente.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 Professional [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione peerdist.h
Libreria PeerDist.lib
DLL PeerDist.dll

Vedi anche

PeerDistServerCancelAsyncOperation

PeerDistServerCloseStreamHandle

PeerDistServerOpenContentInformation

PeerDistServerPublishAddToStream

PeerDistServerPublishCompleteStream

PeerDistServerUnpublish