IFileSyncProvider::Initialize

初始化基于要同步的文件夹及其他设置的 IFileSyncProvider 的一个新实例。

HRESULT Initialize(
  REFGUID guidReplicaId,
  LPCWSTR pcszReplicaRootPath,
  LPCWSTR pcszMetadataFilePath,
  LPCWSTR pcszTempDirectoryPath,
  DWORD dwSyncFlags,
  IFileSyncScopeFilter *pScopeFilter,
  IFileSyncProviderCallback *pCallback,
  LPCWSTR pcszPathToSaveConflictLoserFiles);

参数

  • guidReplicaId
    [in] 副本的 ID。
  • pcszReplicaRootPath
    [in, string] 此提供程序的本地文件存储区的绝对路径。此值为包含要同步的文件和子文件夹的文件夹。
  • pcszMetadataFilePath
    [in, string] 元数据存储文件的绝对路径和文件名。该目录必须在调用此构造函数之前创建。为了防止信息泄露,应用程序必须确保该目录得到适当级别的安全权限的保护。
  • pcszTempDirectoryPath
    [in, string] 将在其中存储临时文件的绝对路径。该目录必须在调用此构造函数之前创建。为了防止信息泄露,应用程序必须确保该目录得到适当级别的安全权限的保护。如果 pcszTempDirectoryPath 为 NULL 或空字符串,则临时文件将存储在由 pcszReplicaRootPath 指定的位置。
  • dwSyncFlags
    [in] 同步期间确定提供程序的行为的标志。此值必须是来自 FILESYNC_INIT_FLAGS 枚举值的组合。
  • pScopeFilter
    [in, unique] 一个静态作用域筛选器,指定本地文件存储区中哪些文件或目录包含在作用域中。可以为 NULL
  • pCallback
    [in, unique] 一个从提供程序接收进度和状态通知的回调接口。可以为 NULL
  • pcszPathToSaveConflictLoserFiles
    [in, string] 将在其中存储冲突解决落选方文件的绝对路径。该目录必须在调用此构造函数之前创建。为了防止信息泄露,应用程序必须确保该目录得到适当级别的安全权限的保护。可以为 NULL

返回值

  • S_OK

  • 如果已经调用了 Initialize,则返回值为 SYNC_E_FSP_INVALIDOPERATION。

  • 如果任何指定路径为相对路径或不存在,或者元数据路径不包括元数据文件名,则返回值为 E_INVALIDARG。

  • 如果表示 guidReplicaId 指定的副本 ID 和 pcszMetadataFilePath 指定的元数据存储区的 IReplicaMetadata 的实例已存在于其他进程中,则返回值为 SYNC_E_METADATA_REPLICA_IN_USE。

备注

传递给构造函数的信息用于初始化,并且该信息是针对提供程序实例的生命周期而设置的。这意味着,对这些设置进行任何变更后,必须创建一个新的提供程序实例。例如,若要变更正用于同步的作用域筛选器,则必须创建一个新文件同步提供程序,并使用新筛选器对其进行初始化。

Sync Services for File Systems 使用 Metadata Storage Service 在轻型数据库中存储所有同步元数据。元数据数据库是一个文件。此文件可与要同步的文件和文件夹存储在一起,也可存储在 Initialize 中指定的其他位置。

若要确保适当的安全性,则必须通过相应的权限级别为目录(如临时目录)提供安全保障以防止信息泄露。

请参阅

参考

IFileSyncProvider 接口
FILESYNC_INIT_FLAGS 枚举