Share via


Guida introduttiva alla sincronizzazione di file

Sync Services for File Systems include un provider di sincronizzazione che estende l'oggetto UnmanagedSyncProviderWrapper (per il codice gestito) o l'interfaccia IKnowledgeSyncProvider (per il codice non gestito) per semplificare la creazione di un'applicazione che sincronizza file e cartelle tra file system.

Creazione e inizializzazione del provider

Codice gestito Un'applicazione crea un oggetto FileSyncProvider. Percorsi e opzioni di configurazione sono specificati nel costruttore.

Codice non gestito Un'applicazione crea un oggetto IFileSyncProvider passando CLSID_FileSyncProvider e IID_IFileSyncProvider a CoCreateInstance. Percorsi e opzioni di configurazione vengono specificati chiamando il metodo Initialize.

I percorsi specificati quando il provider viene costruito o inizializzato definiscono la cartella principale da sincronizzare e il nome della cartella e del file in cui vengono archiviati i metadati di sincronizzazione. Facoltativamente, l'applicazione può inoltre specificare una cartella per l'archiviazione di file temporanei e una cartella per l'archiviazione di file aggiornati a causa di un conflitto. È necessario che siano percorsi validi e che esistano prima che il provider venga inizializzato.

Nota

Per tutti i metodi in Sync Services for File Systems, i percorsi non possono superare MAX_PATH.

È possibile specificare un insieme di flag di configurazione quando il provider viene costruito o inizializzato. Questi flag modificano il comportamento del provider in vari modi, ad esempio per migliorare il rilevamento delle modifiche calcolando un valore hash per ogni file o per spostare i file eliminati nel cestino anziché eliminarli in modo permanente. Questi flag vengono rappresentati da FileSyncOptions (per il codice gestito) o da FILESYNC_INIT_FLAGS (per il codice non gestito).

Dopo la creazione e l'inizializzazione dei provider di origine e di destinazione, questi possono essere passati a una sessione di sincronizzazione e la sincronizzazione può essere avviata. Per ulteriori informazioni sui componenti principali di Sync Framework, consultare il sito Web Microsoft.

Attributi dei file

Sync Services for File Systems riconosce solo i seguenti attributi di cartelle e file:

  • FILE_ATTRIBUTE_DIRECTORY

  • FILE_ATTRIBUTE_READONLY

  • FILE_ATTRIBUTE_HIDDEN

  • FILE_ATTRIBUTE_SYSTEM

  • FILE_ATTRIBUTE_TEMPORARY

Gli altri attributi dei file vengono ignorati e non propagati.

Sicurezza e crittografia

Il provider non esegue qualsiasi autenticazione nelle cartelle coinvolte nella sincronizzazione. L'applicazione deve autenticare le cartelle utilizzate prima che vengano passate al provider.

Le informazioni sulla protezione, ad esempio l'elenco di controllo di accesso discrezionale, non vengono propagate. È compito dell'applicazione o dell'utente proteggere in modo efficace le cartelle di destinazione in modo da impedire l'accesso non autorizzato.

I file di una cartella crittografata vengono decrittografati prima di essere inviati e non verranno crittografati nella cartella di destinazione. È importante considerare che, anche se la cartella di origine è crittografata, i file non sono crittografati quando vengono inviati. Per impedire manomissioni o accessi non autorizzati, il canale di comunicazione tra il provider e la cartella deve essere ritenuto attendibile.

I metadati di sincronizzazione e i file temporanei vengono archiviati in cartelle specificate al momento dell'inizializzazione del provider. Queste cartelle devono essere protette in modo appropriato ed è necessario eseguire la pulizia della cartella temporanea per evitare un'indesiderata divulgazione di informazioni, poiché tali file potrebbero contenere dati dell'utente.

Garanzia di coerenza

Sync Services garantisce che, quando il provider di sincronizzazione dei file applica una modifica, se non può essere applicata a tutto il contenuto di un flusso di file, non verrà applicata ad alcun contenuto. Tale operazione viene effettuata, in parte, aprendo i file in modalità di condivisione esclusiva. Ciò significa che il file non può essere aperto o eliminato da qualsiasi altra applicazione finché il relativo handle non verrà chiuso. Per ulteriori informazioni, vedere la funzione CreateFile nella documentazione di Microsoft Win32.

Se il file non può essere aperto in modalità di condivisione esclusiva verrà ignorato. Il motivo per cui il file è stato ignorato verrà registrato nei metadati in modo che possa essere elaborato in modo appropriato nelle sessioni future.

Archiviazione di metadati

Sync Services utilizza il servizio di archiviazione dei metadati per archiviare tutti i metadati di sincronizzazione in un archivio dati personalizzato. L'archivio dei metadati è un file che può essere archiviato con i file e le cartelle da sincronizzare o in un percorso diverso che viene specificato all'inizializzazione del provider. Per ulteriori informazioni sui componenti del servizio di archiviazione dei metadati, visitare il sito Web Microsoft.

Vedere anche

Riferimento

Interfaccia IFileSyncProvider
Enumerazione FILESYNC_INIT_FLAGS
FileSyncProvider
FileSyncOptions

Altre risorse

Sync Services for File Systems