Jon*_*ter 9 windows winapi windows-shell
既然微软已经在Windows 10的文件系统中恢复了OneDrive(假设它们在6个月内没有再丢弃它),我正在寻找如何确定任意文件的同步状态.
资源管理器中至少显示五种不同的状态(这正是我观察到的,可能还有其他状态):
对于文件,可以使用该FILE_ATTRIBUTE_OFFLINE
属性确定前两个状态.
似乎可以使用新的未记录的文件属性为文件确定"始终可用"状态0x00080000
.
然而,确定文件夹的这些状态以及文件和文件夹的同步和错误状态仍然是个谜.
我的第一个想法是使用属性system(IPropertyStore
),但以下四个属性键都没有帮助:
PKEY_OfflineAvailability
回报 VT_EMPTY
PKEY_OfflineStatus
回报 VT_EMPTY
PKEY_FilePlaceholderStatus
返回一个未记录的值(0xe)但它在状态确实时不会改变PKEY_FileOfflineAvailabilityStatus
回报 VT_EMPTY
我有一种感觉,这将是另一个未记录的Microsoft API,但我想我会问是否有人有任何建议.
我尝试在 Windows 11 22H2 上对其进行逆向工程,结果如下:
当文件仍在同步时,两个属性会出现不同:
System.FilePlaceholderStatus
完成后为 15,仍在同步时为 7。例如 0x8 位设置 == 完成同步。System.SyncTransferStatusFlags
同步时为1,否则为0 null
。 归档时间: |
|
查看次数: |
690 次 |
最近记录: |