StorageLibraryChangeTracker.Enable 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Enable() |
스토리지 라이브러리에 대한 변경 내용 추적을 사용하도록 설정합니다. |
Enable(StorageLibraryChangeTrackerOptions) |
변경 ID에 따라 모든 변경 내용 또는 최신 변경 내용에서 스토리지 라이브러리에 대한 변경 내용 추적을 사용하도록 설정합니다. |
Enable()
스토리지 라이브러리에 대한 변경 내용 추적을 사용하도록 설정합니다.
public:
virtual void Enable() = Enable;
void Enable();
public void Enable();
function enable()
Public Sub Enable ()
적용 대상
Enable(StorageLibraryChangeTrackerOptions)
변경 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)
매개 변수
StorageLibraryChangeTrackerOptions instance.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10, version 2104 (10.0.20348.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v12.0에서 도입되었습니다.)
|
예제
// 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();
}
}
}
설명
마지막 변경 ID에만 관심이 있는 애플리케이션의 경우 시스템은 모든 변경 레코드를 저장하지 않고 디바이스에 스토리지를 bloat합니다. 이 경우 ReadBatchAsync는 항상 0 레코드를 반환합니다.