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
PeerDistStartup 返回的PEERDIST_INSTANCE_HANDLE。
cbContentIdentifier
包含内容标识符数据的缓冲区的长度(以字节为单位)。
[in] pContentIdentifier
指向包含内容标识符数据的数组的指针。
cbContentLength
要发布的内容的长度(以字节为单位)。 如果尚不知道内容长度,则此值可以为 0。 如果提供了非零参数,则它必须与 PeerDistServerPublishAddToStream 函数调用添加的总数据长度匹配。
[in, optional] pPublishOptions
指向指定内容发布规则 的PEERDIST_PUBLICATION_OPTIONS 结构的指针。
[in, optional] hCompletionPort
可用于检索异步函数的完成通知的完成端口的句柄。 若要创建完成端口,请使用 CreateIoCompletionPort 函数。 此参数可以为 NULL。
[in, optional] ulCompletionKey
通过 GetQueuedCompletionStatus 函数的 lpCompletionKey 参数返回的值。 当 hCompletionPort 为 NULL 时,将忽略此参数。
[out] phStream
一个指针,它接收用于将数据发布到对等分发服务的流的句柄。
返回值
如果函数成功,则返回值 ERROR_SUCCESS。 否则,该函数返回以下值之一:
返回代码 | 说明 |
---|---|
|
一个或多个参数无效。 |
|
指定的 hPeerDist 无效。 |
|
用于发布的内容标识符已发布。 |
|
组策略禁用该功能。 |
|
服务不可用。 |
注解
内容标识符是所发布内容的用户定义标签。 此内容标识符用于 PeerDistServerOpenContentInformation、 PeerDistServerUnpublish 和 PeerDistServerCancelAsyncOperation 调用。
phStream 接收的句柄可以在 PeerDistServerPublishAddToStream 和 PeerDistServerPublishCompleteStream 中使用,将数据发布到对等分发服务中。 此句柄应由 PeerDistServerCloseStreamHandle 关闭。
发布只能由最初发布内容的用户帐户访问。 如果其他用户使用相同的内容标识符调用 PeerDistServerPublishStream ,则将在该用户的上下文中创建单独的发布。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 专业版 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | peerdist.h |
Library | PeerDist.lib |
DLL | PeerDist.dll |
另请参阅
PeerDistServerCancelAsyncOperation
PeerDistServerCloseStreamHandle
PeerDistServerOpenContentInformation
PeerDistServerPublishAddToStream