Controlar qué archivos se sincronizan
Sync Framework proporciona varias mecanismos para controlar qué archivos y subcarpetas se incluyen en el ámbito de sincronización. Los filtros estáticos excluyen o incluyen los archivos y las subcarpetas según la configuración que especifique la aplicación cuando se inicializa el proveedor. El filtro dinámico se lleva a cabo utilizando una notificación de evento que la aplicación puede recibir si se registra.
Tipos de archivos y carpetas excluidos y no compatibles
Los archivos siguientes se excluyen siempre del ámbito de sincronización y se omiten completamente:
Thumbs.db cuando se establecen los atributos system e hidden.
Desktop.ini cuando se establecen los atributos system e hidden.
El archivo de metadatos que se especificó cuando se inicializó el proveedor.
Un archivo que tenga establecido el atributo offline o device.
Una carpeta que tenga establecido el atributo reparse point.
Las carpetas que contienen directorios Maletín no son compatibles y no deben incluirse en los ámbitos de sincronización.
Filtros estáticos
Los filtros estáticos se pueden establecer para excluir los archivos por nombre (incluidos los nombres con caracteres comodín) y por atributo. Los filtros estáticos también se pueden establecer para que excluyan el contenido de las subcarpetas completas, aunque no se admiten caracteres comodín en las subcarpetas. O bien, se puede especificar una lista explícita de nombres de archivo para incluir (incluidos los nombres con caracteres comodín). Para incluirse en el ámbito, un archivo o una carpeta debe pasar todos los filtros. Por ejemplo, si todos los archivos que tienen la extensión .txt se excluyen del ámbito y MyFile.txt se especifica en la lista de archivos para incluirse explícitamente en el ámbito, MyFile.txt se excluirá del ámbito debido a su extensión .txt.
Para especificar un filtro estático utilizando código administrado
Cree un objeto FileSyncScopeFilter. Las propiedades de exclusión o inclusión se establecen en el constructor FileSyncScopeFilter, por ejemplo especificando
"*.txt"
para el parámetro fileNameExcludes si se desea excluir del ámbito de sincronización todos los archivos con la extensión .txt.Pase el filtro al constructor FileSyncProvider. Cuando este proveedor se utiliza como proveedor de origen en una sesión de sincronización, solo los archivos que pasen los filtros especificados se incluirán en el ámbito de sincronización.
Para especificar un filtro estático utilizando código no administrado
Cree un objeto IFileSyncScopeFilter mediante IFileSyncProvider::CreateNewScopeFilter.
Establezca las propiedades de exclusión o inclusión en el objeto de filtro, por ejemplo especificando
"*.txt"
en el método IFileSyncScopeFilter::SetFilenameExcludes si se desea excluir del ámbito de sincronización todos los archivos con la extensión .txt.Pase el filtro a IFileSyncProvider::Initialize. Cuando este proveedor se utiliza como proveedor de origen en una sesión de sincronización, solo los archivos que pasen los filtros especificados se incluirán en el ámbito de sincronización.
Omitir los archivos
Los archivos pueden omitirse dinámicamente durante la sincronización si se controla un evento que genera el proveedor. Este evento se produce durante la aplicación de los cambios. El proveedor de destino lo genera una vez por cada cambio, antes de que el cambio se aplique a la réplica de destino. Cuando el controlador de eventos recibe el evento, puede especificar que el cambio no se debería aplicar a la réplica de destino.
Código administrado: registre un controlador para el evento ApplyingChange. Para omitir un cambio, establezca el valor de la propiedad SkipChange en true en el controlador de eventos.
Código no administrado: pase un objeto IFileSyncProviderCallback a IFileSyncProvider::Initialize con el fin de registrarse para recibir las notificaciones de eventos. Para omitir un cambio, establezca el valor del parámetro pfSkipChange en TRUE en IFileSyncProviderCallback::OnApplyingChange.
Vea también
Referencia
Interfaz IFileSyncScopeFilter
Interfaz IFileSyncProviderCallback
FileSyncScopeFilter