IFileSyncProvider::Initialize
Initialise une nouvelle instance de IFileSyncProvider qui se base sur le dossier à synchroniser et d'autres paramètres.
Syntaxe
HRESULT Initialize(
REFGUID guidReplicaId,
LPCWSTR pcszReplicaRootPath,
LPCWSTR pcszMetadataFilePath,
LPCWSTR pcszTempDirectoryPath,
DWORD dwSyncFlags,
IFileSyncScopeFilter *pScopeFilter,
IFileSyncProviderCallback *pCallback,LPCWSTR pcszPathToSaveConflictLoserFiles);
Paramètres
guidReplicaId
[in] ID du réplica.pcszReplicaRootPath
[in, string] Chemin d'accès absolu au magasin de fichiers local de ce fournisseur. Il s'agit du dossier qui contient les fichiers et sous-dossiers à synchroniser.pcszMetadataFilePath
[in, string] Chemin d'accès absolu et nom de fichier du fichier de stockage des métadonnées. Le répertoire doit être créé avant l'appel de ce constructeur. Pour aider à prévenir la divulgation d'informations, l'application doit s'assurer que ce répertoire est sécurisé avec le niveau approprié d'autorisations de sécurité.pcszTempDirectoryPath
[in, unique, string] Chemin d'accès absolu sur lequel les fichiers temporaires seront stockés. Le répertoire doit être créé avant l'appel de ce constructeur. Pour aider à prévenir la divulgation d'informations, l'application doit s'assurer que ce répertoire est sécurisé avec le niveau approprié d'autorisations de sécurité. Si pcszTempDirectoryPath a la valeur NULL ou est une chaîne vide, les fichiers temporaires seront stockés à l'emplacement spécifié par pcszReplicaRootPath.dwSyncFlags
[in] Indicateurs qui déterminent le comportement du fournisseur pendant la synchronisation. Cette valeur doit être une combinaison des valeurs de l'énumération FILESYNC_INIT_FLAGS.pScopeFilter
[in, unique] Filtre d'étendue statique qui spécifie les fichiers ou répertoires du magasin de fichiers local qui sont inclus dans l'étendue. Il peut s'agir d'une valeur NULL.pCallback
[in, unique] Interface de rappel qui reçoit les notifications de progression et d'état du fournisseur. Il peut s'agir d'une valeur NULL.pcszPathToSaveConflictLoserFiles
[in, string] Chemin d'accès absolu sur lequel les fichiers perdants de conflit seront stockés. Le répertoire doit être créé avant l'appel de ce constructeur. Pour aider à prévenir la divulgation d'informations, l'application doit s'assurer que ce répertoire est sécurisé avec le niveau approprié d'autorisations de sécurité. Il peut s'agir d'une valeur NULL.
Valeur de retour
S_OK.
SYNC_E_FSP_INVALIDOPERATION si Initialize a déjà été appelée.
E_INVALIDARG lorsque aucun des chemins d'accès spécifiés n'est un chemin d'accès relatif ou n'existe, ou bien lorsque le chemin d'accès aux métadonnées n'inclut pas le nom de fichier de métadonnées.
SYNC_E_METADATA_REPLICA_IN_USE lorsqu'il existe déjà dans un autre processus une instance de IReplicaMetadata qui représente l'ID de réplica spécifié par guidReplicaId et le magasin des métadonnées spécifié par pcszMetadataFilePath.
Notes
Les informations passées aux constructeurs sont utilisées pour l'initialisation et sont définies pour la vie de l'instance du fournisseur. Cela signifie que, lorsque toutes modifications sont apportées à ces paramètres, une nouvelle instance du fournisseur doit être créée. Par exemple, pour modifier le filtre d'étendue utilisé pour la synchronisation, un nouveau fournisseur de synchronisation de fichiers doit être créé et initialisé avec le nouveau filtre.
Le fournisseur de synchronisation de fichiers utilise le service de stockage des métadonnées pour stocker toutes les métadonnées de synchronisation dans une base de données légère. La base de données de métadonnées est un fichier. Ce fichier peut être stocké avec les fichiers et dossiers à synchroniser ou à un autre emplacement spécifié dans Initialize.
Pour garantir une sécurité adéquate, les répertoires comme le répertoire temporaire doivent être sécurisés avec le niveau approprié d'autorisations afin d'empêcher la divulgation d'informations.