發生在略過變更時。
HRESULT OnChangeSkipped(
LPCWSTR pcszNewFilePath,
LPCWSTR pcszCurrentFilePath,
DWORD dwChangeType,
DWORD dwReason,
HRESULT hrErrorCode);
參數
- pcszNewFilePath
[in, string] 如果套用此變更,檔案將會擁有的新路徑。此路徑相對於根目錄。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_RENAME,這將會是原本套用新名稱之後的路徑。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_DELETE,這項值為 NULL。
- pcszCurrentFilePath
[in, string] 檔案的目前路徑。此路徑相對於根目錄。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_RENAME,這將會是原本套用新名稱之前的路徑。如果 dwChangeType 是 FILESYNC_CHANGE_TYPE_CREATE,這項值為 NULL。
- dwChangeType
[in] 原本已套用的變更類型。這項值是來自 FILESYNC_CHANGE_TYPE 列舉。
- dwReason
[in] 變更無法套用到檔案的原因。這項值是來自 FILESYNC_SKIP_REASON 列舉。
- hrErrorCode
[in] 嘗試將變更套用到檔案期間由函式傳回的錯誤碼 (如果傳回了錯誤碼)。此參數內包含的錯誤通常是由檔案系統傳回,表示在套用變更時發生了問題,例如無法取得檔案的寫入權限。
傳回值
- S_OK
備註
如果 OnChangeSkipped 傳回錯誤,Sync Framework 便會停止處理目前的變更批次,並且從 IFileSyncProvider 的 ProcessChangeBatch 方法傳回錯誤碼。