IBackgroundCopyCallback3::FileRangesTransferred 方法 (bits10_1.h)

BITS 會在下載一或多個檔案範圍時,呼叫 FileRangesTransferred 方法的實作。 檔案範圍會使用 IBackgroundCopyFile6::RequestFileRanges 方法新增至作業。

語法

HRESULT FileRangesTransferred(
  IBackgroundCopyJob     *job,
  IBackgroundCopyFile    *file,
  DWORD                  rangeCount,
  const BG_FILE_RANGE [] ranges
);

參數

job

IBackgroundCopyJob 物件,其中包含存取作業屬性、進度和狀態資訊的方法。 不要發行 pJob;當方法傳回時,BITS 會釋放 介面。

file

IBackgroundCopyFile 物件,其中包含範圍已變更之檔案的相關信息。 不要發行 pFile;當方法傳回時,BITS 會釋放 介面。

rangeCount

範圍陣列中的項目計數。

ranges

上次呼叫 FileRangesTransferred上次呼叫 IBackgroundCopyFile6::RequestFileRanges 方法之後傳輸的檔案範圍陣列。 不要自由 範圍;當 FileRangesTransferred 方法傳回時,BITS 會釋放範圍內存。

傳回值

此方法會在成功時 傳回S_OK ;否則,會傳回錯誤碼。

備註

此方法中傳回的範圍可能不符合您要求的範圍。 這是因為 BITS 不會下載相同的位元組範圍兩次,而且因為 BITS 可以在下載某個範圍的一部分時回報。

您的實作可能不會在資源負載上限下收到所有修改事件。

BITS 會產生大量的事件;請考慮建立定時器並輪詢狀態和進度資訊,或限制您使用此回呼。 如果您使用此回呼,請縮短實作。 您應該將 BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL 屬性設定為仍符合您需求的最高值;這會減少不必要的回呼數目。

注意 BITS 支援每個使用者最多四個同時通知。 如果一或多個應用程式封鎖使用者的所有四個通知無法傳回,執行為相同使用者的應用程式將不會收到通知,直到一或多個封鎖通知傳回為止。
 

範例

如需如何使用此函式的範例,請參閱 IBackgroundCopyCallback3 介面的範例程序代碼。

規格需求

需求
最低支援的用戶端 Windows 10 1703 版 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 bits10_1.h (包含 Bits.h)
程式庫 Bits.lib

另請參閱

IBackgroundCopyCallback3