StorageLibraryChangeTracker.Enable Methode
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.
Überlädt
Enable() |
Aktiviert die Änderungsnachverfolgung für die Speicherbibliothek. |
Enable(StorageLibraryChangeTrackerOptions) |
Aktiviert die Änderungsnachverfolgung für die Speicherbibliothek für alle oder die neuesten Änderungen basierend auf der Änderungs-ID. |
Enable()
Aktiviert die Änderungsnachverfolgung für die Speicherbibliothek.
public:
virtual void Enable() = Enable;
void Enable();
public void Enable();
function enable()
Public Sub Enable ()
Gilt für:
Enable(StorageLibraryChangeTrackerOptions)
Aktiviert die Änderungsnachverfolgung für die Speicherbibliothek für alle oder die neuesten Änderungen basierend auf der Änderungs-ID.
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
- 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
Bei Anwendungen, die nur an der letzten Änderungs-ID interessiert sind, speichert das System nicht alle Änderungsdatensätze und überlagert den Speicher auf dem Gerät. In diesem Fall gibt ReadBatchAsync immer 0 Datensätze zurück.