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, 可选]

Ranges 中的元素数。

范围 [in, 可选]

指定要下载的范围的一个或多个 BG_FILE_RANGE 结构的数组。 请勿指定重复或重叠的范围。

fileSize [in, 可选]

文件的大小(以字节为单位)。 如果调用方应用程序不知道大小,请传入 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服务器版本 1709 [仅限桌面应用]
标头
Deliveryoptimization.h
IDL
DeliveryOptimization.idl

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

另请参阅

IDeliveryOptimizationJob