Функция PeerDistServerPublishStream (peerdist.h)
Функция PeerDistServerPublishStream инициализирует новый поток для публикации в службе однорангового распространения.
Синтаксис
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
);
Параметры
[in] hPeerDist
PEERDIST_INSTANCE_HANDLE, возвращенный PeerDistStartup.
cbContentIdentifier
Длина буфера в байтах, содержащего данные идентификатора контента.
[in] pContentIdentifier
Указатель на массив, содержащий данные идентификатора контента.
cbContentLength
Длина содержимого, публикуемого в байтах. Это значение может быть равно 0, если длина содержимого еще не известна. Если указан ненулевой аргумент, он должен соответствовать общей длине данных, добавленной одноранговым серверомPublishAddToStream вызовами функций.
[in, optional] pPublishOptions
Указатель на структуру PEERDIST_PUBLICATION_OPTIONS, указывающую правила публикации контента.
[in, optional] hCompletionPort
Дескриптор порта завершения, который можно использовать для получения уведомления о завершении асинхронной функции. Чтобы создать порт завершения, используйте функцию createIoCompletionPort. Этот параметр может быть NULL.
[in, optional] ulCompletionKey
Значение, возвращаемое через параметр lpCompletionKey функции GetQueuedCompletionStatus. Этот параметр игнорируется, если hCompletionPortNULL.
[out] phStream
Указатель, который получает дескриптор потока, который используется для публикации данных в службе однорангового распространения.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS. В противном случае функция может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Один или несколько параметров недопустимы. |
|
Указанный hPeerDist недопустим. |
|
Идентификатор контента, используемый для публикации, уже опубликован. |
|
Функция отключена групповой политикой. |
|
Служба недоступна. |
Замечания
Идентификатор контента — это определяемая пользователем метка для опубликованного содержимого. Этот идентификатор содержимого используется для PeerDistServerOpenContentInformation, PeerDistServerUnpublishи одноранговых вызовов PeerDistServerCancelAsyncOperation.
Дескриптор, полученный phStream, можно использовать в PeerDistServerPublishAddToStream и PeerDistServerPublishCompleteStream для публикации данных в службе однорангового распространения. Этот дескриптор должен быть закрыт PeerDistServerCloseStreamHandle.
Публикация доступна только учетной записи пользователя, которая первоначально опубликовала содержимое. Если другой пользователь вызывает PeerDistServerPublishStream с тем же идентификатором содержимого, то в контексте этого пользователя будет создана отдельная публикация.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 7 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 R2 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | peerdist.h |
библиотеки | PeerDist.lib |
DLL | PeerDist.dll |
См. также
PeerDistServerCancelAsyncOperation
PeerDistServerCloseStreamHandle
PeerDistServerOpenContentInformation
PeerDistServerPublishAddToStream