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

このポリシー修飾子は、同期プロバイダーに 2 つの保証を提供します。 最初に、同期プロバイダーによって返されたデータが、ユーザー アプリケーションに返される前に常にディスクに保持されることを保証します。 次に、同期プロバイダーは、以前にプラットフォームに返したのと同じデータを取得し、その整合性を検証できます。 同期プロバイダーによる整合性の確認が成功した場合にのみ、プラットフォームはユーザー I/O 要求を完了します。 この修飾子は、余分なディスク I/O を犠牲にしてエンドツーエンドのデータ整合性をサポートするのに役立ちます。
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED
0x0002

このポリシー修飾子は、同期プロバイダーによって返されたデータをローカル ディスクに格納しないアクセス許可をプラットフォームに付与します。 このポリシー修飾子は、 CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIREDと組み合わせる場合に無効です。
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED
0x0004

このポリシー修飾子は、同期プロバイダーの助けを借りずに、同期中のクラウド ファイル プレースホルダーを退避するアクセス許可をプラットフォームに付与します。 このフラグがないと、プラットフォームは CfDehydratePlaceholder を直接呼び出すことはできません。 代わりに、クラウド ファイル プレースホルダーを退避する唯一の方法は、ファイルのピン留めされた属性をクリアし、ファイルのピン留めされていない属性を設定することです。 その時点で、実際の脱水は、2 つの属性のディレクトリ変更通知を受信した後、同期エンジンによって非同期的に実行されます。 このフラグを指定すると、プラットフォームは、同期中のクラウド ファイル プレースホルダーで CfDehydratePlaceholder を直接呼び出すことができます。 同期プロバイダーは、自動脱水をサポートすることをお勧めします。

この値は、Windows 10 バージョン 1803 以降で使用できます。

CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION
0x0008

このポリシー修飾子は、AV フィルターによるファイルのスキャンの試行をインターセプトするときに、ファイルを完全にハイドレートするアクセス許可をプラットフォームに付与します。 RestartHydration を使用して FetchData コールバックから をfileSize変更する同期プロバイダーは、ファイルをスキャンしようとしているウイルス対策およびマルウェア対策ソフトウェアと、RestartHydration を使用して変更fileSizeしようとしているプロバイダーで発生する可能性のあるデッドロックを回避するために、ポリシーをオプトインALLOW_FULL_RESTART_HYDRATIONする必要があります。

この列挙型の更新は、CfGetPlatformInfo から取得した PlatformVersion.IntegrationNumber が以上の0x500場合にのみサポートされます。

注釈

一般に、修飾子は、組み合わせが自己矛盾しない限り、任意のプライマリ ポリシー (CF_HYDRATION_POLICY_PRIMARY) やその他のポリシー修飾子と混合して照合できます。

CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATIONウイルス対策およびマルウェア検出機能 (AV) によって発生するデッドロックが発生しないように、Restart Hydration 機能を回避するためにフラグが追加されます。 ハイドレーション要求の実行中に退避されたファイルのファイル サイズを更新するすべての同期プロバイダーは、この機能をオプトインするか、またはハイドレーションを再開する必要があります。AV がファイルのメモリ マップされたセクションを作成して開いているファイルをスキャンしようとしたときに、ハイドレーションが発生する可能性があります。 ファイルのスナップショットまたはバージョンを管理し、バックエンドまたはサーバーでファイルが更新されている場合でも、要求されたバージョンのファイルを指定してユーザーの要求を満たすプロバイダーは、このポリシーをオプトインする必要はありません。 同様に、バックエンドでファイルが変更された場合にハイドレーション要求に失敗したプロバイダーは、このポリシーをオプトインできない可能性があります。

要件

要件
サポートされている最小のクライアント Windows 10バージョン 1709 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
Header cfapi.h

こちらもご覧ください

CF_HYDRATION_POLICY_PRIMARY

CfDehydratePlaceholder

CfGetPlatformInfo