StorageLibraryChangeTrackerOptions Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |