StorageLibraryChangeTrackerOptions Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ermöglicht Aufrufern, EnableWithOptions auf der Änderungsnachverfolgung aufzurufen, um alle Änderungen zu verfolgen, einschließlich der letzten Änderungs-ID oder nur der letzten Änderungs-ID.
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
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10, version 2104 (eingeführt in 10.0.20348.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v12.0)
|
Beispiele
// 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();
}
}
}
Hinweise
Standardmäßig werden durch aktivieren einer Änderungsnachverfolgung für eine bestimmte Bibliothek oder einen bestimmten Ordner alle Änderungsdetails nachverfolgt und die letzte Änderungs-ID nachverfolgt. Wenn Sie StorageLibraryChangeTrackerOptions::TrackChangeDetails auf false festlegen und EnableWithOptions wie im folgenden Beispiel verwenden, verfolgt das System nur die letzte Änderungs-ID, die weniger Systemspeicher verbraucht.
Wenn Ihre Anwendung keine Details zu den Änderungen benötigt, wird dies empfohlen.
Konstruktoren
StorageLibraryChangeTrackerOptions() |
Konstruktor für die StorageLibraryChangeTrackerOptions , die zum Einrichten des Verhaltens der Änderungsnachverfolgung für einen StorageFolder oder StorageLibrary verwendet werden soll. |
Eigenschaften
TrackChangeDetails |
Wird verwendet, um zu bestimmen, ob das System jede einzelne Änderung oder nur die letzte Änderungs-ID für eine bestimmte Änderungsnachverfolgung nachverfolgt. |