StorageLibraryChangeTracker.Enable Metode
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.
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.