StorageLibraryChangeReader.GetLastChangeId 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.
Mendapatkan nilai unik yang mewakili perubahan terakhir yang diproses oleh layanan pengindeksan untuk StorageFolder atau StorageLibrary yang diberikan.
public:
virtual unsigned long long GetLastChangeId() = GetLastChangeId;
uint64_t GetLastChangeId();
public ulong GetLastChangeId();
function getLastChangeId()
Public Function GetLastChangeId () As ULong
Mengembalikan
Id perubahan yang valid (> 0) jika telah ada perubahan.
Mengembalikan 0 jika belum ada perubahan sejak terakhir kali dibaca atau belum ada perubahan yang terjadi.
Mengembalikan StorageLibraryChangeId::Unknown jika pelacak perubahan tidak dapat menghitung id perubahan, atau terlalu banyak perubahan file yang terjadi dan nilai ini meluap.
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();
}
}
}