PeerDistClientAddData 函数 (peerdist.h)

PeerDistClientAddData 函数用于向本地缓存提供内容。 通常,当无法像使用 ERROR_TIMEOUT PEERDIST_ERROR_MISSING_DATA完成 PeerDistClientBlockRead 或 PeerDistClientStreamRead 时所示在本地网络上找到数据时执行此操作。

语法

DWORD PeerDistClientAddData(
  [in] PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in] PEERDIST_CONTENT_HANDLE  hContentHandle,
       DWORD                    cbNumberOfBytes,
  [in] PBYTE                    pBuffer,
  [in] LPOVERLAPPED             lpOverlapped
);

参数

[in] hPeerDist

PeerDistStartup 返回的PEERDIST_INSTANCE_HANDLE

[in] hContentHandle

PeerDistClientOpenContent 返回的PEERDIST_CONTENT_HANDLE

cbNumberOfBytes

要添加到本地缓存的字节数。

[in] pBuffer

指向缓冲区的指针,该缓冲区包含要添加到本地缓存的数据。 此缓冲区必须在添加操作期间保持有效。 在添加操作完成之前,调用方不得使用此缓冲区。

[in] lpOverlapped

指向 OVERLAPPED 结构的指针。 从要添加此数据的内容开头的字节偏移量是通过设置 OVERLAPPED 结构的 OffsetOffsetHigh 成员指定的。 OffsetHigh 成员必须设置为字节偏移量的较高 32 位,而 Offset 成员必须设置为字节偏移量较低的 32 位。

返回值

如果函数成功,则返回值 ERROR_IO_PENDING。 否则,该函数返回以下值之一:

返回代码 说明
ERROR_INVALID_PARAMETER
一个或多个参数无效。
ERROR_INVALID_HANDLE
hPeerDisthContent 句柄无效。
ERROR_ACCESS_DISABLED_BY_POLICY
组策略禁用此功能。
PEERDIST_ERROR_SERVICE_UNAVAILABLE
服务不可用。

注解

已使用此函数添加并通过验证的数据可供其他对等方或托管缓存下载。 对等分发服务将此数据存储在其本地缓存中。

如果 API 以 PEERDIST_ERROR_OUT_OF_BOUNDS完成,则表示重叠结构中指定的偏移量超出了内容的末尾。

要求

要求
最低受支持的客户端 Windows 7 专业版 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 peerdist.h
Library PeerDist.lib
DLL PeerDist.dll

另请参阅

PeerDistClientBlockRead

PeerDistClientStreamRead

PeerDistStartup