IFileSyncScopeFilter 接口

定义可用于包括或排除静态同步作用域中的文件或文件夹的筛选器。

interface IFileSyncScopeFilter : IUnknown

成员

IFileSyncScopeFilter 方法 说明

IFileSyncScopeFilter::SetFilenameExcludes

设置要从作用域中排除的文件名的集合。

IFileSyncScopeFilter::SetSubDirectoryExcludes

设置要从作用域中排除的目录的相对路径集合。

IFileSyncScopeFilter::SetFileAttributeExcludeMask

设置用于从作用域中排除文件和文件夹的属性。

IFileSyncScopeFilter::SetFilenameIncludes

设置要在作用域中显式包括的文件名的集合。

IFileSyncScopeFilter::GetFilenameExcludes

获取要从作用域中排除的文件名的集合。

IFileSyncScopeFilter::GetSubDirectoryExcludes

获取要从作用域中排除的目录的相对路径集合。

IFileSyncScopeFilter::GetFileAttributeExcludeMask

获取用于从作用域中排除文件和文件夹的属性。

IFileSyncScopeFilter::GetFilenameIncludes

获取要在作用域中显式包括的文件名的集合。

备注

将在变更检测期间使用静态筛选器,并且将对同步作用域中的所有项公平地应用静态筛选器。对于要包括在同步中的项,它必须传递所有静态筛选器。例如,如果某个文件同时被显式排除和显式包括,则该文件将从作用域中排除。

应该对同步社区中的所有提供程序都使用同一个作用域筛选器,否则可能会发生意外行为。

传递给 IFileSyncProvider::Initialize 的筛选器用于在传入时根据作用域筛选器初始化提供程序对象。该筛选器的后续变更将不影响提供程序实例所使用的作用域筛选器。若要变更所使用的作用域筛选器,必须创建一个新的 IFileSyncProvider 对象。

在首次同步后变更副本作用域可能会导致意外的副作用。例如,假设在首次同步后的某个时候将副本 A 的作用域变更为开始排除 *.txt。这将导致副本 A 将具有 .txt 扩展名的所有文件视为删除。实际上将不会从副本 A 中删除任何文件。但是,副本 A 中的元数据将包含 .txt 文件的逻辑删除,并且副本 A 将把删除变更发送给 .txt 文件的其他副本。如果在副本 B 中也排除 *.txt,则不起作用,因为副本 B 将从属于 .txt 文件的副本 A 中筛选变更。但是,如果副本 B 不变更其筛选器,则已删除的文件将流向它,被视为真正的变更请求,并从副本 B 中删除。

要求

**头文件:**Filesyncprovider.h

请参阅

概念

Sync Framework 文件同步组件