Поделиться через


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

Значение свойства

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, чтобы сэкономить в системном хранилище, если приложение касается только последнего идентификатора изменения, а не сведений о каждом отдельном изменении.

Применяется к

См. также раздел