CF_HYDRATION_POLICY_PRIMARY enumeration (cfapi.h)

Allows a sync provider to control how placeholder files should be hydrated by the platform. This is the primary policy.

Warning

CF_HYDRATION_POLICY_PARTIAL policy is not currently supported.

Syntax

typedef enum CF_HYDRATION_POLICY_PRIMARY {
  CF_HYDRATION_POLICY_PARTIAL = 0,
  CF_HYDRATION_POLICY_PROGRESSIVE = 1,
  CF_HYDRATION_POLICY_FULL = 2,
  CF_HYDRATION_POLICY_ALWAYS_FULL = 3
} ;

Constants

 
CF_HYDRATION_POLICY_PARTIAL
Value: 0
The same behavior as CF_HYDRATION_POLICY_PROGRESSIVE, except that CF_HYDRATION_POLICY_PARTIAL does not have continuous hydration in the background.
CF_HYDRATION_POLICY_PROGRESSIVE
Value: 1
When CF_HYDRATION_POLICY_PROGRESSIVE is selected, the platform will allow a placeholder to be dehydrated. When the platform detects access to a dehydrated placeholder, it will complete the user IO request as soon as it determines that sufficient data is received from the sync provider. However, the platform will continue requesting the remaining content in the placeholder from the sync provider in the background until either the full content of the placeholder is available locally, or the last user handle on the placeholder is closed.

NOTE
Sync providers who opt in for CF_HYDRATION_POLICY_PROGRESSIVE may not assume that hydration callbacks arrive sequentially from offset 0. In other words, sync providers with CF_HYDRATION_POLICY_PROGRESSIVE policy are expected to handle random seeks on the placeholder.
CF_HYDRATION_POLICY_FULL
Value: 2
When CF_HYDRATION_POLICY_FULL is selected, the platform will allow a placeholder to be dehydrated. When the platform detects access to a dehydrated placeholder, it will ensure that the full content of the placeholder is available locally before completing the user IO request, even if the request is only asking for 1 byte.
CF_HYDRATION_POLICY_ALWAYS_FULL
Value: 3
When CF_HYDRATION_POLICY_ALWAYS_FULL is selected, the platform will block any placeholder operation that could result in a not fully hydrated placeholder, which includes CfCreatePlaceholders, CfUpdatePlaceholder with the dehydrate option, and CfConvertToPlaceholder with the dehydrate option.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1709 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Header cfapi.h

See also

CfCreatePlaceholders

CfUpdatePlaceholder

CfConvertToPlaceholder