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


перечисление 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.IntegrationNumber из CfGetPlatformInfo , имеет значение 0x500 или выше.

Требования

   
Минимальная версия клиента Windows 10 версии 1709 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Верхняя часть cfapi.h

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

CfConvertToPlaceholder

CfRegisterSyncRoot

CfGetPlatformInfo