次の方法で共有


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 [in, optional]

ダウンロードする範囲を指定する 1 つ以上の 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_CANCELLED または BG_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