FileSyncProvider Class
Is a synchronous synchronization provider that can be used to synchronize files, folders, and subfolders in NTFS, FAT, or SMB file systems.
Inheritance Hierarchy
System.Object
Microsoft.Synchronization.SyncProvider
Microsoft.Synchronization.KnowledgeSyncProvider
Microsoft.Synchronization.UnmanagedSyncProviderWrapper
Microsoft.Synchronization.Files.FileSyncProvider
Namespace: Microsoft.Synchronization.Files
Assembly: Microsoft.Synchronization.Files (in Microsoft.Synchronization.Files.dll)
Syntax
'Declaration
Public Class FileSyncProvider _
Inherits UnmanagedSyncProviderWrapper _
Implements IDisposable
'Usage
Dim instance As FileSyncProvider
public class FileSyncProvider : UnmanagedSyncProviderWrapper,
IDisposable
public ref class FileSyncProvider : public UnmanagedSyncProviderWrapper,
IDisposable
type FileSyncProvider =
class
inherit UnmanagedSyncProviderWrapper
interface IDisposable
end
public class FileSyncProvider extends UnmanagedSyncProviderWrapper implements IDisposable
The FileSyncProvider type exposes the following members.
Constructors
Name | Description | |
---|---|---|
FileSyncProvider(String) | Initializes a new instance of the FileSyncProvider class based on the specified root directory path. | |
FileSyncProvider(Guid, String) | Initializes a new instance of the FileSyncProvider class based on the specified replica ID and root directory path. | |
FileSyncProvider(String, FileSyncScopeFilter, FileSyncOptions) | Initializes a new instance of the FileSyncProvider class that is based on the specified root directory path, scope filter, and configuration options. | |
FileSyncProvider(Guid, String, FileSyncScopeFilter, FileSyncOptions) | Initializes a new instance of the FileSyncProvider class that is based on the specified replica ID, root directory path, scope filter, and configuration options. | |
FileSyncProvider(String, FileSyncScopeFilter, FileSyncOptions, String, String, String, String) | Initializes a new instance of the FileSyncProvider class that is based on the specified root directory path, scope filter, configuration options, metadata storage file path, metadata storage file name, temporary file path, and path to store conflict loser files. | |
FileSyncProvider(Guid, String, FileSyncScopeFilter, FileSyncOptions, String, String, String, String) | Initializes a new instance of the FileSyncProvider class that is based on the specified replica ID, root directory path, scope filter, configuration options, metadata storage file path, metadata storage file name, temporary file path, and path to store conflict loser files. |
Top
Properties
Name | Description | |
---|---|---|
Configuration | Gets the configuration settings for the provider. (Inherited from KnowledgeSyncProvider.) | |
DestinationCallbacks | Gets an object that a synchronization application can use to register to receive notification of events that occur during synchronization. (Inherited from KnowledgeSyncProvider.) | |
FileSyncOptions | Gets the options that govern the behavior of the provider during synchronization. | |
IdFormats | Gets the schema that defines the format of various IDs that are used by the provider. (Overrides UnmanagedSyncProviderWrapper.IdFormats.) | |
MetadataDirectoryPath | Gets the absolute path to the metadata storage file. | |
MetadataFileName | Gets the name of the metadata storage file. | |
PreviewMode | Gets or sets a value that indicates whether the provider is in preview mode. | |
ReplicaId | Gets the ID for the replica. | |
RootDirectoryPath | Gets the absolute path to the local file store for this provider. This is the folder that contains the files and subfolders to be synchronized. | |
ScopeFilter | Gets the static scope filter that specifies which files or directories in the local file store are included in the scope. | |
TempDirectoryPath | Gets the absolute path where temporary files will be stored. |
Top
Methods
Name | Description | |
---|---|---|
BeginSession | Notifies the unmanaged provider that it is joining a synchronization session. (Inherited from UnmanagedSyncProviderWrapper.) | |
DetectChanges | Triggers an enumeration of the local file system replica for changes, and updates the metadata appropriately. | |
Dispose() | Releases the unmanaged resources that are used by FileSyncProvider. | |
Dispose(Boolean) | Releases the unmanaged resources that are used by FileSyncProvider and optionally releases the managed resources. | |
EndSession | Notifies the unmanaged provider that a synchronization session to which it was enlisted has finished. (Inherited from UnmanagedSyncProviderWrapper.) | |
Equals | (Inherited from Object.) | |
Finalize | Finalizer for FileSyncProvider. Releases all resources. (Overrides Object.Finalize().) | |
GetChangeBatch | Gets a batch of changes from the unmanaged provider. (Inherited from UnmanagedSyncProviderWrapper.) | |
GetFullEnumerationChangeBatch | Gets a batch of changes from the unmanaged provider as part of a full enumeration. (Inherited from UnmanagedSyncProviderWrapper.) | |
GetHashCode | (Inherited from Object.) | |
GetSyncBatchParameters | Gets the requested batch size and current knowledge for the scope from the unmanaged provider. (Inherited from UnmanagedSyncProviderWrapper.) | |
GetType | (Inherited from Object.) | |
Initialize | Initializes the wrapper so that it represents the specified unmanaged provider and uses the specified change data retriever adapter to convert between managed and unmanaged data retrievers. (Inherited from UnmanagedSyncProviderWrapper.) | |
MemberwiseClone | (Inherited from Object.) | |
ProcessChangeBatch | Passes a batch of changes to the unmanaged provider for processing. (Inherited from UnmanagedSyncProviderWrapper.) | |
ProcessFullEnumerationChangeBatch | Passes a batch of changes to the unmanaged provider for processing during a full enumeration. (Inherited from UnmanagedSyncProviderWrapper.) | |
ToString | (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
AppliedChange | Occurs when a file change has been applied. | |
ApplyingChange | Occurs when a file change is about to be tried. | |
CopyingFile | Occurs periodically to show progress while a file is being copied. | |
DetectedChanges | Occurs when the change detection pass is complete. | |
DetectingChanges | Occurs when a directory is about to be analyzed during a change detection pass. | |
SkippedChange | Occurs when a change is skipped. | |
SkippedFileDetect | Occurs when a file or folder is not analyzed during change detection. |
Top
Remarks
To synchronize all files and subfolders in a directory, pass the replica ID and root directory to FileSyncProvider(Guid, String), and pass the provider to a SyncAgent object to handle the synchronization session.
By default, synchronization metadata is stored in a metadata storage service database file in the root directory of the replica. To customize the location and name of this file, specify these by using FileSyncProvider(Guid, String, FileSyncScopeFilter, FileSyncOptions, String, String, String, String).
Control over which files and folders are included in the synchronization scope can be accomplished by configuring a FileSyncScopeFilter and passing it to the provider's constructor. The filter contains properties that can be used to exclude a list of files, exclude a list of folders, exclude files and folders based on their attributes, and explicitly include a list of files.
A number of configuration options, FileSyncOptions, are available to control how the provider behaves during synchronization, for example, whether it moves deleted files to the recycle bin or deletes them permanently from the file system.
A variety of events are available to the application that wants to show progress or dynamically skip particular changes during the session.
The provider can be put into preview mode by setting PreviewMode to true before starting synchronization. While in preview mode, the provider will perform all actions as if a real synchronization session is occurring, including firing all events. However, the provider will not actually apply any changes to the destination replica.
Note
Concurrent synchronization operations to the same file store are not supported. If another provider instance was previously initialized with the same replica (that is, the same values for directory path and metadata file path), but has not yet been released, the constructor will throw a ReplicaMetadataInUseException from the metadata store.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.