Share via


StorageLibraryChangeTracker.Enable Método

Definición

Sobrecargas

Enable()

Habilita el seguimiento de cambios para la biblioteca de almacenamiento.

Enable(StorageLibraryChangeTrackerOptions)

Habilita el seguimiento de cambios de la biblioteca de almacenamiento en todos o los últimos cambios en función del identificador de cambio.

Enable()

Habilita el seguimiento de cambios para la biblioteca de almacenamiento.

public:
 virtual void Enable() = Enable;
void Enable();
public void Enable();
function enable()
Public Sub Enable ()

Se aplica a

Enable(StorageLibraryChangeTrackerOptions)

Habilita el seguimiento de cambios de la biblioteca de almacenamiento en todos o los últimos cambios en función del identificador de cambio.

public:
 virtual void Enable(StorageLibraryChangeTrackerOptions ^ options) = Enable;
/// [Windows.Foundation.Metadata.Overload("EnableWithOptions")]
void Enable(StorageLibraryChangeTrackerOptions const& options);
[Windows.Foundation.Metadata.Overload("EnableWithOptions")]
public void Enable(StorageLibraryChangeTrackerOptions options);
function enable(options)
Public Sub Enable (options As StorageLibraryChangeTrackerOptions)

Parámetros

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

En el caso de las aplicaciones solo interesadas en el último identificador de cambio, el sistema no almacenará todos los registros de cambios e inflará el almacenamiento en el dispositivo. En este caso, ReadBatchAsync siempre devolverá 0 registros.

Consulte también

Se aplica a