CF_CONVERT_FLAGS 枚举 (cfapi.h)

普通文件/目录到占位符的文件/目录转换标志。

语法

typedef enum CF_CONVERT_FLAGS {
  CF_CONVERT_FLAG_NONE = 0x00000000,
  CF_CONVERT_FLAG_MARK_IN_SYNC = 0x00000001,
  CF_CONVERT_FLAG_DEHYDRATE = 0x00000002,
  CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 0x00000004,
  CF_CONVERT_FLAG_ALWAYS_FULL = 0x00000008,
  CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 0x00000010
} ;

常量

 
CF_CONVERT_FLAG_NONE
值: 0x00000000
无转换标志。
CF_CONVERT_FLAG_MARK_IN_SYNC
值: 0x00000001
成功转换文件后,平台会将转换的占位符标记为与云同步。
CF_CONVERT_FLAG_DEHYDRATE
值: 0x00000002
仅适用于文件。 指定后,平台在成功将文件转换为占位符后将其冻结。 调用方在指定此标志时必须获取独占句柄,否则可能会出现数据损坏。 请注意,平台不验证句柄的独占性。
CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION
值: 0x00000004
仅适用于目录。 指定后,它会将转换的占位符目录标记为部分填充,以便将来对其进行的任何访问都将导致 FETCH_PLACEHOLDERS 回调发送到同步提供程序。
CF_CONVERT_FLAG_ALWAYS_FULL
值: 0x00000008
当此标志存在时,新创建的占位符将始终标记为已满。 水合后,任何尝试将此类 (文件冻结) 占位符都将失败 ,并ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED错误代码。 此标志仅在占位符文件上强制执行。 可以在占位符目录上设置它,但它不起作用。
CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE
值: 0x00000010
指定后,平台允许同步引擎以原子方式将非云文件占位符转换为 (将另一个重新分析标记/数据) 转换为云文件占位符。 请注意,API 通常无法将任何非占位符文件转换为占位符。

组合 ** (CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE
当某些提供商从另一个平台迁移到云文件平台时,CF_CONVERT_FLAG_DEHYDRATE) ** 在迁移方案中特别有用,并且他们打算以原子方式将旧平台上的合水占位符转换为云文件平台上的脱水占位符。 应仅传递此标志,以便将完整占位符转换为云文件占位符。 如果旧平台将完整文件实现为常规的非占位符文件,则不需要此标志。 在目录上传递此标志也会将目录转换为云文件,但 DEHYDRATE 标志不适用于目录。

即使策略 CF_PLACEHOLDER_MANAGEMENT_POLICY_CONVERT_TO_UNRESTRICTED 是使用 CfRegisterSyncRoot 指定的,也仅允许已注册/连接到云文件同步根的进程指定此标志。

>[!注意]
>仅当 PlatformVersion.IntegrationNumberCfGetPlatformInfo 获取的 为 0x500 或更高时,才支持标志。

要求

   
最低受支持的客户端 Windows 10版本 1709 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
标头 cfapi.h

另请参阅

CfConvertToPlaceholder

CfRegisterSyncRoot

CfGetPlatformInfo