Partager via


StorageLibraryChangeReader.GetLastChangeId Méthode

Définition

Obtient une valeur unique représentant la dernière modification traitée par le service d’indexation pour le StorageFolder ou StorageLibrary donné.

public:
 virtual unsigned long long GetLastChangeId() = GetLastChangeId;
uint64_t GetLastChangeId();
public ulong GetLastChangeId();
function getLastChangeId()
Public Function GetLastChangeId () As ULong

Retours

UInt64

unsigned long long

uint64_t

ID de modification valide (> 0) s’il y a eu des modifications.

Retourne 0 s’il n’y a eu aucune modification depuis la dernière lecture ou si aucune modification n’a encore eu lieu.

Retourne StorageLibraryChangeId::Unknown si le suivi des modifications ne peut pas calculer l’ID de modification, ou si trop de modifications de fichier se sont produites et que cette valeur déborde.

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 2104 (introduit dans 10.0.20348.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v12.0)

Exemples

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

S’applique à

Voir aussi