IFileSyncProvider 接口
是一个同步筛选的同步提供程序,可用于同步 NTFS、FAT 或 SMB 文件系统中的文件、文件夹和子文件夹。
interface IFileSyncProvider : IKnowledgeSyncProvider
IFileSyncProvider 方法 | 说明 |
---|---|
初始化基于要同步的文件夹及其他设置的 IFileSyncProvider 的一个新实例。 |
|
触发变更的本地文件系统副本的枚举,并相应地更新元数据。 |
|
设置一个指示提供程序是否处于预览模式的值。 |
|
创建一个新的 IFileSyncScopeFilter 对象,在设置其筛选器属性之后,可以将该对象传递给 Initialize。 |
若要同步目录中的所有文件和子文件夹,请将副本 ID 和根目录传递给 IFileSyncProvider::Initialize,将提供程序传递给 IApplicationSyncServices::CreateSyncSession,然后使用返回的 ISyncSession 对象处理同步会话。
默认情况下,同步元数据存储在副本根目录下的 Metadata Storage Service 数据库文件中。若要自定义此文件的位置和名称,请使用 Initialize 指定它们。
通过配置一个 IFileSyncScopeFilter 对象并将其传递给 Initialize,可以控制包括在同步作用域中的文件和文件夹。该筛选器包含一些属性,这些属性可用于排除文件列表,排除文件夹列表以及基于文件和文件夹的属性排除文件和文件夹,还可用于显式包括文件列表。
FILESYNC_INIT_FLAGS 是一组配置选项,可用于在同步期间控制提供程序的行为方式;例如,控制是将已删除的文件移到回收站,还是从文件系统中将其永久删除。
会话期间,应用程序可利用多个事件来显示进度或动态跳过特定变更。
开始同步之前,可通过将 TRUE 传递给 IFileSyncProvider::SetPreviewMode 来将提供程序置于预览模式中。在预览模式中,提供程序将如同进行真正的同步会话一样执行所有操作,包括激发所有事件。但是,提供程序实际上没有将任何变更应用于目标副本。
备注
不支持对同一文件存储区执行并发同步操作。如果另一个提供程序实例以前是使用同一个副本(即目录路径和元数据文件路径的值均相同)进行初始化的,但尚未释放,则 Initialize 将返回 SYNC_METADATA_E_REPLICA_IN_USE。
**头文件:**FileSyncProvider.h