發生在已套用檔案變更時。
HRESULT OnChangeApplied(
LPCWSTR pcszNewFilePath,
LPCWSTR pcszOldFilePath,
DWORD dwChangeType);
參數
- pcszNewFilePath
[in, string] 所建立之檔案的新路徑。此路徑相對於根目錄。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_RENAME,這就是套用新名稱之後的新路徑。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_DELETE,這項值為 NULL。
- pcszOldFilePath
[in, string] 所建立之檔案的舊路徑。此路徑相對於根目錄。如果 dwChangeType 為 FILESYNC_CHANGE_TYPE_RENAME,這就是套用新名稱之前的舊路徑。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_CREATE,這項值為 NULL。
- dwChangeType
[in] 所套用變更的類型。這項值是來自 FILESYNC_CHANGE_TYPE 列舉。
傳回值
- S_OK
備註
只有當變更會影響目的地複寫上的檔案資料時,這個事件才會引發;當變更只會影響檔案的中繼資料時,則不會引發。例如,如果偵測到更新與更新之間的衝突,而且目的地系統上的檔案被選為贏家,則不會將任何變更套用到目的地,也不會引發這個事件。同樣地,從來源將標記傳播到目的地只會造成中繼資料更新,而不會變更目的地檔案系統。在此情況中,不會引發這個事件。
如果 OnChangeApplied 傳回錯誤,Sync Framework 便會停止目前的變更批次,並且從 IFileSyncProvider 的 ProcessChangeBatch 方法傳回錯誤。