IBackgroundCopyCallback2::FileTransferred 方法 (bits3_0.h)
BITS 會在 BITS 成功完成傳輸檔案時,呼叫 FileTransferred 方法的實作。
語法
HRESULT FileTransferred(
[in] IBackgroundCopyJob *pJob,
[in] IBackgroundCopyFile *pFile
);
參數
[in] pJob
包含作業相關信息。 不要發行 pJob;當這個方法傳回時,BITS 會釋放介面。
[in] pFile
包含檔案相關信息。 不要釋放 pFile;當這個方法傳回時,BITS 會釋放介面。
傳回值
這個方法應該傳回 S_OK;否則,如果為負數,BITS 會繼續呼叫這個方法,直到傳回 S_OK 為止。 基於效能考慮,您應該將傳回值S_OK以外的次數 限制為數 次。 除了傳回錯誤碼,請考慮一律傳回 S_OK 並在內部處理錯誤。 呼叫這個方法的間隔是任意的。
備註
一般而言,除非您想要驗證已下載之檔案的內容,否則不會使用此回呼。 如果您要下載可提供給對等的內容,驗證檔案可能很重要。
若要取得包含已下載內容的臨時檔名稱,請呼叫 IBackgroundCopyFile3::GetTemporaryName 方法。 驗證內容之後,呼叫 IBackgroundCopyFile3::SetValidationState 方法,以在檔案的內容有效時向BITS指出。 如果您將驗證狀態設定為 FALSE ,且內容來自源伺服器,則作業會移至錯誤狀態。
如果內容來自對等,BITS 會從源伺服器下載檔。 從源伺服器傳輸檔完成之後,會再次呼叫回呼。
BITS 3.0: 從源伺服器傳輸檔完成之後,不會再次呼叫回呼。
針對作業, FileTransferred 回呼會串行化。 在目前的回呼成功傳回之前,BITS 不會分派作業中下一個檔案的回呼。
FileTransferred 回呼會在 JobTransferred 和 JobError 回呼之前分派。
FileTransferred 回呼適用於下載作業或上傳-回復作業的回復部分。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | bits3_0.h (包含 Bits.h) |
程式庫 | Bits.lib |