StorageLibraryChangeTracker.Enable Metode

Definisi

Overload

Enable()

Mengaktifkan pelacakan perubahan untuk pustaka penyimpanan.

Enable(StorageLibraryChangeTrackerOptions)

Mengaktifkan pelacakan perubahan untuk pustaka penyimpanan pada semua atau perubahan terbaru berdasarkan id perubahan.

Enable()

Mengaktifkan pelacakan perubahan untuk pustaka penyimpanan.

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

Berlaku untuk

Enable(StorageLibraryChangeTrackerOptions)

Mengaktifkan pelacakan perubahan untuk pustaka penyimpanan pada semua atau perubahan terbaru berdasarkan id perubahan.

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)

Parameter

Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10, version 2104 (diperkenalkan dalam 10.0.20348.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v12.0)

Contoh

// 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();
    }
}
}

Keterangan

Untuk aplikasi yang hanya tertarik pada id perubahan terakhir, sistem tidak akan menyimpan semua rekaman perubahan dan membekukan penyimpanan pada perangkat. Dalam hal ini, ReadBatchAsync akan selalu mengembalikan 0 rekaman.

Lihat juga

Berlaku untuk