IFileSyncProvider::Initialize
Инициализирует новый экземпляр IFileSyncProvider на основе синхронизируемой папки и других параметров.
HRESULT Initialize(
REFGUID guidReplicaId,
LPCWSTR pcszReplicaRootPath,
LPCWSTR pcszMetadataFilePath,
LPCWSTR pcszTempDirectoryPath,
DWORD dwSyncFlags,
IFileSyncScopeFilter *pScopeFilter,
IFileSyncProviderCallback *pCallback,
LPCWSTR pcszPathToSaveConflictLoserFiles);
Параметры
- guidReplicaId
[in] Идентификатор реплики.
- pcszReplicaRootPath
[in, string] Абсолютный путь к локальному хранилищу файлов для этой службы. Это папка, в которой содержатся файлы и вложенные папки, подлежащие синхронизации.
- pcszMetadataFilePath
[in, string] Абсолютный путь и имя файла хранилища метаданных. Перед вызовом этого конструктора необходимо создать каталог. Приложение должно обеспечить защиту этого каталога соответствующим уровнем прав доступа, чтобы предотвратить раскрытие данных.
- pcszTempDirectoryPath
[in, unique, string] Абсолютный путь к месту хранения временных файлов. Перед вызовом этого конструктора необходимо создать каталог. Приложение должно обеспечить защиту этого каталога соответствующим уровнем прав доступа, чтобы предотвратить раскрытие данных. Если параметр pcszTempDirectoryPath имеет значение NULL или является пустой строкой, то временные файлы будут сохраняться в папке, указываемой параметром pcszReplicaRootPath.
- dwSyncFlags
[in] Флаги, определяющие режим работы службы в ходе синхронизации. Это значение должно быть сочетанием значений из перечисления FILESYNC_INIT_FLAGS.
- pScopeFilter
[in, unique] Статический фильтр области, указывающий, какие файлы или каталоги в локальном хранилище файлов следует включить в область. Может иметь значение NULL.
- pCallback
[in, unique] Интерфейс ответного вызова, который получает от службы уведомления о ходе выполнения и о состоянии. Может иметь значение NULL.
- pcszPathToSaveConflictLoserFiles
[in, string] Абсолютный путь к месту хранения файлов, признанных проигравшими в конфликте. Перед вызовом этого конструктора каталог должен быть создан. Для предотвращения утечки информации приложение должно гарантировать, что этот каталог защищен с надлежащим уровнем прав доступа. Может иметь значение NULL.
Возвращаемое значение
S_OK.
SYNC_E_FSP_INVALIDOPERATION, если уже был вызван метод Initialize.
E_INVALIDARG, если любой из заданных путей является относительным или не существует либо если путь к метаданным не включает имя файла метаданных.
SYNC_E_METADATA_REPLICA_IN_USE, если экземпляр объекта IReplicaMetadata, который представляет идентификатор реплики, заданной в параметре guidReplicaId, и хранилище метаданных, заданное в параметре pcszMetadataFilePath, уже существуют в другом процессе.
Замечания
Данные, передаваемые конструкторам, используются для инициализации и действуют в течение времени существования экземпляра поставщика. Это означает, что при любом изменении этих параметров необходимо создать новый экземпляр службы. Например, чтобы изменить фильтр области, используемый для синхронизации, необходимо создать новую службу синхронизации файлов и инициализировать ее с новым фильтром.
Служба синхронизации файлов хранит все метаданные синхронизации в упрощенной базе данных службы хранилища метаданных. База метаданных расположена в одном файле. Этот файл может храниться вместе с файлами и папками, подлежащими синхронизации, или в другом месте, которое было указано при вызове метода Initialize.
Чтобы обеспечить надлежащий уровень безопасности, временный каталог необходимо защитить, задав для него необходимый уровень разрешений.
См. также
Справочник
Интерфейс IFileSyncProvider
Перечисление FILESYNC_INIT_FLAGS