PeerDistServerPublishStream-Funktion (peerdist.h)

Die Funktion PeerDistServerPublishStream initialisiert einen neuen Stream, der im Peerverteilungsdienst veröffentlicht werden soll.

Syntax

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

Parameter

[in] hPeerDist

Eine von PeerDistStartup zurückgegebene PEERDIST_INSTANCE_HANDLE.

cbContentIdentifier

Die Länge des Puffers in Bytes, der Inhaltsbezeichnerdaten enthält.

[in] pContentIdentifier

Ein Zeiger auf ein Array, das Inhaltsbezeichnerdaten enthält.

cbContentLength

Die Länge des zu veröffentlichenden Inhalts in Bytes. Dieser Wert kann 0 sein, wenn die Inhaltslänge noch nicht bekannt ist. Wenn ein Argument ungleich 0 angegeben wird, muss es mit der Gesamtdatenlänge übereinstimmen, die durch PeerDistServerPublishAddToStream-Funktionsaufrufe hinzugefügt wurden.

[in, optional] pPublishOptions

Zeiger auf eine PEERDIST_PUBLICATION_OPTIONS-Struktur , die Regeln für die Inhaltsveröffentlichung angibt.

[in, optional] hCompletionPort

Ein Handle für den Vervollständigungsport, der zum Abrufen der Vervollständigungsbenachrichtigung der asynchronen Funktion verwendet werden kann. Verwenden Sie zum Erstellen eines Abschlussports die Funktion CreateIoCompletionPort. Dieser Parameter kann NULL sein.

[in, optional] ulCompletionKey

Wert, der über den lpCompletionKey-Parameter der GetQueuedCompletionStatus-Funktion zurückgegeben wird. Dieser Parameter wird ignoriert, wenn hCompletionPortNULL ist.

[out] phStream

Ein Zeiger, der ein Handle auf den Stream empfängt, der zum Veröffentlichen von Daten im Peerverteilungsdienst verwendet wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS. Andernfalls gibt die Funktion möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
ERROR_INVALID_HANDLE
Der angegebene hPeerDist ist ungültig.
PEERDIST_ERROR_ALREADY_EXISTS
Der für die Veröffentlichung verwendete Inhaltsbezeichner ist bereits veröffentlicht.
ERROR_ACCESS_DISABLED_BY_POLICY
Das Feature wird von Gruppenrichtlinie deaktiviert.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
Der Dienst ist nicht verfügbar.

Hinweise

Ein Inhaltsbezeichner ist eine benutzerdefinierte Bezeichnung für den veröffentlichten Inhalt. Dieser Inhaltsbezeichner wird für PeerDistServerOpenContentInformation-, PeerDistServerUnpublish- und PeerDistServerCancelAsyncOperation-Aufrufe verwendet.

Das von phStream empfangene Handle kann in PeerDistServerPublishAddToStream und PeerDistServerPublishCompleteStream verwendet werden, um Daten im Peerverteilungsdienst zu veröffentlichen. Dieses Handle sollte durch PeerDistServerCloseStreamHandle geschlossen werden.

Auf eine Veröffentlichung kann nur das Benutzerkonto zugreifen, das den Inhalt ursprünglich veröffentlicht hat. Wenn ein anderer Benutzer PeerDistServerPublishStream mit demselben Inhaltsbezeichner aufruft, wird eine separate Publikation im Kontext dieses Benutzers erstellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile peerdist.h
Bibliothek PeerDist.lib
DLL PeerDist.dll

Weitere Informationen

PeerDistServerCancelAsyncOperation

PeerDistServerCloseStreamHandle

PeerDistServerOpenContentInformation

PeerDistServerPublishAddToStream

PeerDistServerPublishCompleteStream

PeerDistServerUnpublish