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 |
---|---|
|
Uno o più parametri non sono validi. |
|
L'oggetto hPeerDist specificato non è valido. |
|
L'identificatore di contenuto utilizzato per la pubblicazione è già pubblicato. |
|
La funzionalità è disabilitata da Criteri di gruppo. |
|
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