IFileSyncProvider::Initialize
Inicializa uma nova instância de IFileSyncProvider com base na pasta a ser sincronizada e em outras configurações.
HRESULT Initialize(
REFGUID guidReplicaId,
LPCWSTR pcszReplicaRootPath,
LPCWSTR pcszMetadataFilePath,
LPCWSTR pcszTempDirectoryPath,
DWORD dwSyncFlags,
IFileSyncScopeFilter *pScopeFilter,
IFileSyncProviderCallback *pCallback,
LPCWSTR pcszPathToSaveConflictLoserFiles);
Parâmetros
- guidReplicaId
[in] A ID da réplica.
- pcszReplicaRootPath
[in, string] O caminho absoluto para o repositório do arquivo local desse provedor. Essa é a pasta que contém os arquivos e subpastas que serão sincronizados.
- pcszMetadataFilePath
[in, string] O caminho absoluto e o nome do arquivo de armazenamento de metadados. O diretório deve ser criado antes de chamar este construtor. O aplicativo deve garantir que esse diretório esteja protegido com o nível de permissões de segurança apropriado para evitar a divulgação de informações.
- pcszTempDirectoryPath
[in, unique, string] O caminho absoluto onde os arquivos temporários serão armazenados. O diretório deve ser criado antes de chamar este construtor. O aplicativo deve garantir que este diretório está protegido com o nível de permissões de segurança apropriado para evitar a divulgação de informações. Se pcszTempDirectoryPath for NULL ou uma cadeia vazia, os arquivos temporários serão armazenados no local especificado por pcszReplicaRootPath.
- dwSyncFlags
[in] Sinalizadores que determinam o comportamento do provedor durante a sincronização. Este valor deve ser uma combinação de valores da enumeração FILESYNC_INIT_FLAGS.
- pScopeFilter
[in, unique] Um filtro de escopo estático que especifica quais arquivos ou diretórios no repositório do arquivo local estão incluídos no escopo. Pode ser NULL.
- pCallback
[in, unique] Uma interface de retorno que recebe notificações de andamento e status do provedor. Pode ser NULL.
- pcszPathToSaveConflictLoserFiles
[in, string] O caminho absoluto onde os arquivos perdedores de conflito serão armazenados. O diretório deve ser criado antes de chamar este construtor. Para ajudar a evitar a divulgação de informações, o aplicativo deve assegurar que esse diretório esteja protegido com o nível de permissões de segurança apropriado. Pode ser NULL.
Valor de retorno
S_OK.
SYNC_E_FSP_INVALIDOPERATION se Initialize já tiver sido chamado.
E_INVALIDARG quando alguns dos caminhos especificado forem arquivos relativos, não existirem ou quando o caminho dos metadados não incluir o nome do arquivo de metadados.
SYNC_E_METADATA_REPLICA_IN_USE quando uma instância de IReplicaMetadata que representa a ID da réplica especificada por guidReplicaId e o armazenamento de metadados especificado por pcszMetadataFilePath já existirem em outro processo.
Comentários
As informações que são passadas aos construtores são usadas para inicialização e são definidas permanentemente para a instância do provedor. Isso significa que, quando qualquer alteração é feita nessas configurações, uma nova instância do provedor deve ser criada. Por exemplo, para alterar o filtro de escopo em uso pela sincronização, um novo provedor de sincronização de arquivo deve ser criado e inicializado com o filtro novo.
O provedor de sincronização de arquivos usa o serviço de armazenamento de metadados para armazenar todos os metadados da sincronização em um banco de dados leve. O banco de dados de metadados é um único arquivo. Esse arquivo pode ser armazenado com os arquivos e pastas que serão sincronizados ou em outro local especificado em Initialize.
Para garantir a segurança apropriada, diretórios como o diretório de arquivos temporários devem ser protegidos com o nível apropriado de permissões de segurança para evitar a divulgação de informações.