StorageLibraryChangeTrackerOptions 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
호출자가 변경 추적기에서 EnableWithOptions를 호출하여 마지막 변경 ID 또는 마지막 변경 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
- 상속
- 특성
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를 추적합니다. StorageLibraryChangeTrackerOptions::TrackChangeDetails를 false로 설정하고 아래 예제와 같이 EnableWithOptions를 사용하면 시스템은 더 적은 시스템 스토리지를 사용하는 마지막 변경 ID만 추적합니다.
애플리케이션에 변경 내용에 대한 세부 정보가 필요하지 않은 경우 권장되는 방법입니다.
생성자
StorageLibraryChangeTrackerOptions() |
StorageFolder 또는 StorageLibrary에 대한 변경 추적기의 동작을 설정하는 데 사용할 StorageLibraryChangeTrackerOptions 의 생성자입니다. |
속성
TrackChangeDetails |
시스템에서 각 개별 변경 내용을 추적할지 또는 지정된 변경 추적자에 대한 마지막 변경 ID만 추적할지 확인하는 데 사용됩니다. |