Bagikan melalui


StorageLibraryChangeTrackerOptions Kelas

Definisi

Memungkinkan penelepon memanggil EnableWithOptions pada pelacak perubahan untuk memilih untuk melacak semua perubahan termasuk id perubahan terakhir, atau hanya id perubahan terakhir.

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
Warisan
Object Platform::Object IInspectable StorageLibraryChangeTrackerOptions
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

Secara default, mengaktifkan pelacak perubahan pada pustaka atau folder tertentu akan melacak semua detail perubahan serta melacak id perubahan terakhir. Dengan mengatur StorageLibraryChangeTrackerOptions::TrackChangeDetails ke false dan menggunakan EnableWithOptions seperti contoh di bawah ini, sistem hanya akan melacak id perubahan terakhir yang menggunakan lebih sedikit penyimpanan sistem.

Jika aplikasi Anda tidak memerlukan detail tentang perubahan, ini adalah pendekatan yang disarankan.

Konstruktor

StorageLibraryChangeTrackerOptions()

Konstruktor untuk StorageLibraryChangeTrackerOptions yang akan digunakan untuk mengatur perilaku pelacak perubahan untuk StorageFolder atau StorageLibrary.

Properti

TrackChangeDetails

Digunakan untuk menentukan apakah sistem akan melacak setiap perubahan individu atau hanya id perubahan terakhir untuk pelacak perubahan tertentu.

Berlaku untuk

Lihat juga