共用方式為


開始使用同步處理檔案

Sync Framework 包含可擴充 UnmanagedSyncProviderWrapper 物件 (適用於 Managed 程式碼) 或 IKnowledgeSyncProvider 介面 (適用於 Unmanaged 程式碼) 的檔案同步處理提供者,讓同步處理檔案系統之間之檔案和資料夾的應用程式建立作業得以簡化。

建立與初始化提供者

Managed 程式碼:應用程式會建立 FileSyncProvider 物件。路徑和組態選項是在建構函式中指定。

Unmanaged 程式碼:應用程式透過傳遞 CLSID_FileSyncProviderIID_IFileSyncProviderCoCreateInstance,建立 IFileSyncProvider 物件。路徑和組態選項是透過呼叫 Initialize 方法指定。

建構或初始化提供者時指定的路徑會定義要同步處理的根資料夾,以及要存放同步處理中繼資料的資料夾和檔案名稱。應用程式也可以指定一個資料夾儲存暫存檔,也指定一個資料夾儲存因衝突而更新的檔案。這兩個資料夾都必須是有效的路徑,而且必須在初始化提供者之前就已存在。

注意

如果是檔案同步處理提供者內的所有方法,路徑不得超過 MAX_PATH

建構或初始化提供者時,可以指定一組組態旗標。這些旗標會以各種不同方式修改提供者的行為,例如,透過計算每個檔案的雜湊值來改善變更偵測,或是將已刪除檔案移到資源回收筒而不是將檔案永久刪除。這些旗標是以 FileSyncOptions (適用於 Managed 程式碼) 或 FILESYNC_INIT_FLAGS (適用於 Unmanaged 程式碼) 表示。

建立及初始化來源和目的地提供者之後,可以傳遞給同步處理工作階段,然後就能啟動同步處理。

檔案屬性

Sync Framework 僅識別下列檔案和資料夾屬性:

  • FILE_ATTRIBUTE_DIRECTORY

  • FILE_ATTRIBUTE_READONLY

  • FILE_ATTRIBUTE_HIDDEN

  • FILE_ATTRIBUTE_SYSTEM

  • FILE_ATTRIBUTE_TEMPORARY

其他檔案屬性會被忽略而不進行傳播。

安全性與加密

提供者不會在涉入同步處理的資料夾上執行任何驗證。應用程式必須先驗證所使用的資料夾,再傳遞給提供者。

安全性資訊,例如判別存取控制清單 (DACL),不會進行傳播。正確保障應用程式資料夾安全,以協助防範未獲授權的存取,全部都要靠應用程式或使用者。

加密資料夾中的檔案會先解密再進行傳送,而且在目的地資料夾中不會進行加密。請注意,這表示即使來源資料夾已加密,檔案在傳送時仍然不會進行加密。若要協助防範未獲授權的存取或竄改,提供者與資料夾之間的通訊通道必須受信任。

同步處理中繼資料和暫存檔都儲存在初始化提供者時所指定的資料夾中。這些資料夾的安全性必須受到適當保障,並清除暫存資料夾,以避免資訊外洩,因為這些檔案可能包含使用者資料。

一致性保證

Sync Framework 保證,當檔案同步處理提供者套用變更時,如果無法套用檔案資料流的所有內容,就不會套用任何內容。這項作業有一部分是透過在獨佔共用模式中開啟檔案來完成。也就是說,檔案無法由其他任何應用程式開啟或刪除,直到關閉其控制代碼為止。如需詳細資訊,請參閱 Microsoft Win32 文件中的 CreateFile 函式。

如果檔案無法在獨佔共用模式中開啟,將會被略過。略過的情形會記錄於中繼資料內,讓它可以在未來工作階段中適當進行處理。

中繼資料儲存體

檔案同步處理提供者會使用中繼資料儲存服務,將所有同步處理中繼資料儲存在自訂資料存放區。中繼資料存放區是一個檔案。這個檔案可以與要同步處理的檔案和資料夾存放在一起,或是放在初始化提供者時所指定的其他位置。如需中繼資料儲存服務元件的詳細資訊,請參閱 Sync Framework Metadata Storage Service

備份與還原檔案系統複寫

從備份還原檔案系統複寫時,同步處理可能會發生問題。例如,還原之後進行的本機變更可能不會傳播至其他複寫。這是可能會發生的情況,因為用於指派版本給來源複寫上之變更的滴答計數,可能會造成其他複寫將變更偵測為過時。

若要確保不會發生這種情況,從備份還原檔案系統複寫時,請捨棄同步處理中繼資料並將複寫視為新複寫,並且指派新的複寫識別碼給此複寫。然後,檔案同步處理提供者就可以針對複寫建立同步處理中繼資料,並且正確地同步處理此複寫與社群中的其他複寫。

請參閱

參考

IFileSyncProvider 介面
FILESYNC_INIT_FLAGS 列舉
FileSyncProvider
FileSyncOptions

概念

同步處理檔案