Compartir a través de


StorageLibraryChangeTrackerOptions Clase

Definición

Permite a los autores de llamadas llamar a EnableWithOptions en el seguimiento de cambios para elegir realizar un seguimiento de todos los cambios, incluido el último identificador de cambio, o solo el último identificador de cambio.

public ref class StorageLibraryChangeTrackerOptions sealed
/// [Windows.Foundation.Metadata.Activatable(720896, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 720896)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StorageLibraryChangeTrackerOptions final
[Windows.Foundation.Metadata.Activatable(720896, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 720896)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StorageLibraryChangeTrackerOptions
function StorageLibraryChangeTrackerOptions()
Public NotInheritable Class StorageLibraryChangeTrackerOptions
Herencia
Object Platform::Object IInspectable StorageLibraryChangeTrackerOptions
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10, version 2104 (se introdujo en la versión 10.0.20348.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v12.0)

Ejemplos

// applications are expected to persist the previous value
UINT64 appsLastPersistedChangeId = StorageLibraryLastChangeId::Unknown();
StorageFolder folder = StorageFolder::GetFolderFromPathAsync(L"my folder path").get();

StorageLibraryChangeTracker tracker = folder.TryGetChangeTracker();
if (tracker != nullptr)
{
StorageLibraryChangeTrackerOptions ops;
ops.TrackChangeDetails(false);
tracker.Enable(ops);

StorageLibraryChangeReader reader = tracker.GetChangeReader();
if (reader != nullptr)
{
    UINT32 changeId = reader.GetLastChangeId();
    if ((changeId == StorageLibraryLastChangeId::Unknown())
    {
        ScanFolderSlow();
    }
    else if (changeId == 0)
    {
        // no changes in the storage folder yet, OR nothing has changed
        ProcessNormalApplicationStartup();
    }
    else if (changeId != appsLastPersistedChangeId)
    {
        // There have been new changes since we’ve last ran, process them
        appsLastPersistedChangeId = changeId;
        ScanFolderForChanges();
    }
    else
    {
        // changeId and our last persisted change id match, also normal application startup
        ProcessNormalApplicationStartup();
    }
}
}

Comentarios

De forma predeterminada, al habilitar un seguimiento de cambios en una biblioteca o carpeta específica, se realizará un seguimiento de todos los detalles de los cambios, así como del último identificador de cambio. Al establecer StorageLibraryChangeTrackerOptions::TrackChangeDetails en false y usando EnableWithOptions como en el ejemplo siguiente, el sistema solo realizará un seguimiento del último identificador de cambio que usa menos almacenamiento del sistema.

Si la aplicación no necesita detalles sobre los cambios, este es el enfoque recomendado.

Constructores

StorageLibraryChangeTrackerOptions()

Constructor para StorageLibraryChangeTrackerOptions que se va a usar para configurar el comportamiento del seguimiento de cambios para storageFolder o StorageLibrary.

Propiedades

TrackChangeDetails

Se usa para determinar si el sistema realizará un seguimiento de cada cambio individual o solo el último identificador de cambio de un seguimiento de cambios determinado.

Se aplica a

Consulte también