StorageLibraryChangeTrackerOptions.TrackChangeDetails Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Используется для определения того, будет ли система отслеживать каждое отдельное изменение или только идентификатор последнего изменения для данного средства отслеживания изменений.
public:
property bool TrackChangeDetails { bool get(); void set(bool value); };
bool TrackChangeDetails();
void TrackChangeDetails(bool value);
public bool TrackChangeDetails { get; set; }
var boolean = storageLibraryChangeTrackerOptions.trackChangeDetails;
storageLibraryChangeTrackerOptions.trackChangeDetails = boolean;
Public Property TrackChangeDetails As Boolean
Значение свойства
bool
Логическое значение, определяющее, должно ли средство отслеживания изменений отслеживать все сведения об изменениях или только идентификатор последнего изменения. Если значение не задано или не изменено, по умолчанию используется значение true.
Примеры
// 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();
}
}
}
Комментарии
TrackChangeDetails по умолчанию имеет значение true для всех модулей отслеживания изменений. При передаче в StorageLibraryChangeTracker::EnableWithOptions ей можно задать значение false, чтобы сэкономить в системном хранилище, если приложение касается только последнего идентификатора изменения, а не сведений о каждом отдельном изменении.