перечисление CF_HYDRATION_POLICY_MODIFIER (cfapi.h)

Позволяет поставщику синхронизации управлять тем, как файлы заполнителей должны быть увожены платформой. Это модификатор, который можно использовать с основной политикой: CF_HYDRATION_POLICY_PRIMARY.

Синтаксис

typedef enum CF_HYDRATION_POLICY_MODIFIER {
  CF_HYDRATION_POLICY_MODIFIER_NONE,
  CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED,
  CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED,
  CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED,
  CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION
} ;

Константы

 
CF_HYDRATION_POLICY_MODIFIER_NONE
0x0000

Нет модификатора политики.
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED
0x0001

Этот модификатор политики предоставляет поставщику синхронизации две гарантии. Во-первых, это гарантирует, что данные, возвращаемые поставщиком синхронизации, всегда сохраняются на диске, прежде чем они будут возвращены в пользовательское приложение. Во-вторых, это позволяет поставщику синхронизации получить те же данные, которые он вернул ранее на платформу, и проверить их целостность. Только после успешного подтверждения целостности поставщиком синхронизации платформа выполнит запрос пользовательского ввода-вывода. Этот модификатор помогает поддерживать сквозную целостность данных за счет дополнительных дисковых операций ввода-вывода.
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED
0x0002

Этот модификатор политики предоставляет платформе разрешение не хранить данные, возвращаемые поставщиком синхронизации, на локальных дисках. Этот модификатор политики неэффективен при сочетании с CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED.
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED
0x0004

Этот модификатор политики предоставляет платформе разрешение на обезвоживать заполнители облачных файлов в синхронизации без помощи поставщиков синхронизации. Без этого флага платформа не может вызывать CfDehydratePlaceholder напрямую. Вместо этого единственный поддерживаемый способ обезвожить заполнитель облачного файла — очистить закрепленный атрибут файла и задать открепленный атрибут файла. На этом этапе фактическое обезвоживание будет выполняться асинхронно подсистемой синхронизации после получения уведомления об изменении каталога для двух атрибутов. Если этот флаг указан, платформе будет разрешено вызывать CfDehydratePlaceholder непосредственно в любом синхронизированном облачном заполнителе файла. Рекомендуется, чтобы поставщики синхронизации поддерживали автоматическое обезвоживание.

ПРИМЕЧАНИЕ

Это значение доступно в Windows 10 версии 1803 и более поздних.

CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION
0x0008

Этот модификатор политики предоставляет платформе разрешение на синхронную полную очистку файла при перехвате попытки антивирусного фильтра сканировать файл. Поставщики синхронизации, которые хотят использовать RestartHydration для изменения fileSize с обратного вызова FetchData , должны согласиться на политику, ALLOW_FULL_RESTART_HYDRATION чтобы избежать возможных взаимоблокировок с антивирусным и антивредоносным программным обеспечением, пытающимся сканировать файл, и поставщик пытается изменить fileSize с помощью RestartHydration.

ПРИМЕЧАНИЕ

Это обновление перечисления поддерживается только в том случае, если значение , полученное PlatformVersion.IntegrationNumber из CfGetPlatformInfo , имеет значение 0x500 или выше.

Комментарии

Как правило, модификаторы можно смешивать и сопоставлять с любой основной политикой (CF_HYDRATION_POLICY_PRIMARY) и другими модификаторами политики, если сочетание не является самоконфлификатором.

Флаг CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION добавляется, чтобы функция перезапуска гидратации не сталкивалась с взаимоблокировками, вызванными антивирусной программой и детекторами вредоносных программ (AV). Все поставщики синхронизации, которые намерены обновить размер файла обезвоженного файла во время запроса на гидратацию, должны согласиться на эту функцию или перезапуск гидратации может столкнуться с взаимоблокировкой, когда антивирусная программа пытается сканировать открываемый файл путем создания сопоставленного раздела файла в памяти, что приводит к гидратации. Обратите внимание, что поставщикам, которые поддерживают моментальные снимки или версии файла и удовлетворяют запросу пользователя, предоставляя запрошенную версию файла, даже если файл был обновлен на сервере или сервере, не нужно соглашаться на эту политику. Аналогичным образом поставщики, которые не выполняют запрос на гидратацию в случае изменения файла в серверной части, могут не согласиться на эту политику.

Требования

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

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

CF_HYDRATION_POLICY_PRIMARY

CfDehydratePlaceholder

CfGetPlatformInfo