IFileSyncProvider::Initialize
Inicializa una nueva instancia de IFileSyncProvider que está basada en la carpeta que se va a sincronizar y en otras opciones de configuración.
HRESULT Initialize(
REFGUID guidReplicaId,
LPCWSTR pcszReplicaRootPath,
LPCWSTR pcszMetadataFilePath,
LPCWSTR pcszTempDirectoryPath,
DWORD dwSyncFlags,
IFileSyncScopeFilter *pScopeFilter,
IFileSyncProviderCallback *pCallback,
LPCWSTR pcszPathToSaveConflictLoserFiles);
Parámetros
- guidReplicaId
[in] Identificador de la réplica.
- pcszReplicaRootPath
[in, string] Ruta de acceso absoluta al almacén de archivos local para este proveedor. Es la carpeta que contiene los archivos y subcarpetas que se van a sincronizar.
- pcszMetadataFilePath
[in, string] Ruta de acceso absoluta y nombre del archivo de almacenamiento de metadatos. El directorio se debe haber creado antes de llamar a este constructor. La aplicación debe asegurarse de que este directorio está protegido con el nivel adecuado de permisos de seguridad para evitar la divulgación de información.
- pcszTempDirectoryPath
[in, unique, string] Ruta de acceso absoluta en que se almacenarán los archivos temporales. El directorio se debe haber creado antes de llamar a este constructor. La aplicación debe asegurarse de que este directorio está protegido con el nivel adecuado de permisos de seguridad para evitar la divulgación de información. Si pcszTempDirectoryPath es NULL o una cadena vacía, los archivos temporales se almacenarán en la ubicación especificada por pcszReplicaRootPath.
- dwSyncFlags
[in] Marcas que determinan el comportamiento del proveedor durante la sincronización. Este valor debe ser una combinación de valores de la enumeración FILESYNC_INIT_FLAGS.
- pScopeFilter
[in, unique] Filtro del ámbito estático que especifica qué archivos o directorios del almacén de archivos local se incluyen en el ámbito. Puede ser un valor NULL.
- pCallback
[in, unique] Interfaz de devolución de llamada que recibe notificaciones de progreso y de estado del proveedor. Puede ser un valor NULL.
- pcszPathToSaveConflictLoserFiles
[in, string] Ruta de acceso absoluta en que se almacenarán los archivos perdedores de conflictos. El directorio se debe haber creado antes de llamar a este constructor. Para evitar la divulgación de información, la aplicación debe asegurarse de que este directorio está protegido con el nivel adecuado de permisos de seguridad. Puede ser un valor NULL.
Valor devuelto
S_OK
SYNC_E_FSP_INVALIDOPERATION si ya se ha llamado a Initialize.
E_INVALIDARG cuando alguna de las rutas de acceso especificadas es una ruta de acceso relativa o no existe, o cuando la ruta de acceso de los metadatos no incluye el nombre del archivo de metadatos.
SYNC_E_METADATA_REPLICA_IN_USE cuando una instancia de IReplicaMetadata que representa el identificador de réplica especificado por guidReplicaId y el almacén de metadatos especificados por pcszMetadataFilePath ya existe en otro proceso.
Notas
La información que se pasa a los constructores se usa para la inicialización y se conserva mientras exista la instancia del proveedor. Esto significa que, cuando se realiza cualquier cambio en estos valores, se debe crear una nueva instancia del proveedor. Por ejemplo, para cambiar el filtro del ámbito que se usa para la sincronización, es preciso crear e inicializar un nuevo proveedor de sincronización de archivos con el nuevo filtro.
El proveedor de sincronización de archivos usa Metadata Storage Service para almacenar todos los metadatos de sincronización en una base de datos ligera. La base de datos de metadatos es un solo archivo. Este archivo puede estar almacenado con los archivos y carpetas que se van a sincronizar o en otra ubicación que se especifica en Initialize.
Para evitar la divulgación de información y garantizar la seguridad adecuada, los directorios como el directorio de almacenamiento temporal deben estar protegidos con el nivel adecuado de permisos de seguridad.