IDeliveryOptimizationJob::AddFileWithRanges 方法

将文件添加到下载作业,并指定要下载的文件的范围。

语法

HRESULT AddFileWithRanges(
  [in]           LPCWSTR       fileId,
  [in]           LPCWSTR       remoteUrl,
  [in]           LPCWSTR       localName,
  [in, optional] DWORD         rangeCount,
  [in, optional] BG_FILE_RANGE ranges[],
  [in, optional] ULONG64       fileSize
);

参数

fileId [in]

作为已发布内容的唯一标识符的 Null 终止字符串。 对于未发布的内容,它可以是调用方可用于标识作业中的文件的任何唯一字符串。

remoteUrl [in]

以 Null 结尾的字符串,其中包含服务器上文件的名称。

localName [in]

以 Null 结尾的字符串,其中包含客户端上文件的名称。

rangeCount [in, optional]

Ranges 中的元素数。

ranges [in, optional]

一个或多个 BG_FILE_RANGE 结构的数组,这些结构指定要下载的范围。 不要指定重复或重叠的范围。

fileSize [in, optional]

文件的大小(以字节为单位)。 如果调用方应用程序不知道大小,则传入 DO_UNKNOWN_FILE_SIZE

返回值

此方法返回以下返回值以及其他返回值。

返回代码 描述
S_OK
成功。
E_INVALIDARG
本地文件名为 NULL 或空字符串。
E_ACCESSDENIED
用户没有权限写入客户端上的指定目录。
DO_E_INVALID_RANGE
其中一个范围无效。 例如,InitialOffset 设置为 BG_LENGTH_TO_EOF
DO_E_OVERLAPPING_RANGES
不能指定重复或重叠的范围。
注意: 范围按值的偏移量而不是长度进行排序。 如果输入的偏移量相同,但顺序相反,则返回此错误。 例如,如果按该顺序输入 100.5 和 100.0,则无法将文件添加到作业。
DO_E_INVALID_STATE
作业的状态不能 BG_JOB_STATE_CANCELLEDBG_JOB_STATE_ACKNOWLEDGED

要求

要求
最低受支持的客户端
Windows 10版本 1709 [仅限桌面应用]
最低受支持的服务器
Windows Server 版本 1709 [仅限桌面应用]
标头
Deliveryoptimization.h
IDL
DeliveryOptimization.idl

Dosvc.lib
DLL
Dosvc.dll
IID
IID_IDeliveryOptimizationJob定义为 EE2584CF-A69C-4848-B633-2649962B3EF7

另请参阅

IDeliveryOptimizationJob