CF_HYDRATION_POLICY_MODIFIER
列挙型フラグメンバー 5
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| CF_HYDRATION_POLICY_MODIFIER_NONE | 0 | 0x0 |
ポリシー修飾子はありません。 |
| CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED | 1 | 0x1 |
このポリシー修飾子は、同期プロバイダーに 2 つの保証を提供します。1 つ目は、同期プロバイダーが返したデータが、ユーザー アプリケーションに返される前に必ずディスクへ永続化されることを保証します。2 つ目は、同期プロバイダーが以前にプラットフォームへ返したデータと同じデータを取得し、その整合性を検証できるようにします。同期プロバイダーによって整合性が正常に確認された場合にのみ、プラットフォームはユーザーの I/O 要求を完了します。この修飾子は、追加のディスク I/O を代償として、エンド ツー エンドのデータ整合性のサポートに役立ちます。 |
| CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED | 2 | 0x2 |
このポリシー修飾子は、同期プロバイダーが返したデータをローカル ディスクに保存しない権限をプラットフォームに与えます。このポリシー修飾子は、CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED と組み合わせた場合は無効です。 |
| CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED | 4 | 0x4 |
このポリシー修飾子は、同期プロバイダーの助けを借りずに、同期済みのクラウド ファイル プレースホルダーをデハイドレートする権限をプラットフォームに与えます。このフラグがない場合、プラットフォームが CfDehydratePlaceholder を直接呼び出すことはできません。その場合、クラウド ファイル プレースホルダーをデハイドレートする唯一のサポートされた方法は、ファイルのピン留め属性をクリアし、ピン留め解除属性を設定することです。その時点で、実際のデハイドレートは、これら 2 つの属性に対するディレクトリ変更通知を受け取った後に、同期エンジンによって非同期に実行されます。このフラグが指定されている場合、プラットフォームは任意の同期済みクラウド ファイル プレースホルダーに対して CfDehydratePlaceholder を直接呼び出すことができます。同期プロバイダーでは自動デハイドレートをサポートすることをお勧めします。 メモ
この値は Windows 10 バージョン 1803 以降で使用できます。 |
| CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION | 8 | 0x8 |
このポリシー修飾子は、AV フィルターによるファイルのスキャン試行をインターセプトしたときに、ファイルを同期的に完全にハイドレートする権限をプラットフォームに与えます。FetchData コールバックから メモ
この列挙型の更新は、CfGetPlatformInfo から取得した |
公式ドキュメント
同期プロバイダーが、プレースホルダー ファイルをプラットフォームでどのようにハイドレートするかを制御できるようにします。これは、プライマリ ポリシー CF_HYDRATION_POLICY_PRIMARY と組み合わせて使用できる修飾子です。
解説(Remarks)
一般に、修飾子は、その組み合わせが自己矛盾しない限り、任意のプライマリ ポリシー (CF_HYDRATION_POLICY_PRIMARY) および他のポリシー修飾子と自由に組み合わせることができます。
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION フラグは、ウイルス対策ソフトウェアおよびマルウェア検出ソフトウェア (AV) に起因するデッドロックが Restart Hydration 機能で発生することを回避するために追加されました。ハイドレート要求の処理中にデハイドレート済みファイルのファイル サイズを更新する予定のすべての同期プロバイダーは、この機能をオプトインする必要があります。オプトインしない場合、AV がファイルのメモリ マップト セクションを作成して、開かれているファイルをスキャンしようとし、それがハイドレートを引き起こしたときに、Restart Hydration がデッドロックに陥る可能性があります。なお、ファイルのスナップショットやバージョンを保持し、バックエンド/サーバー上でファイルが更新されていても要求されたバージョンのファイルを提供してユーザーの要求を満たすプロバイダーは、このポリシーをオプトインする必要はありません。同様に、バックエンドでファイルが変更された場合にハイドレート要求を失敗させるプロバイダーも、このポリシーをオプトインしなくてかまいません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum CF_HYDRATION_POLICY_MODIFIER : unsigned short {
CF_HYDRATION_POLICY_MODIFIER_NONE = 0,
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1,
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2,
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4,
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8
} CF_HYDRATION_POLICY_MODIFIER;[Flags]
public enum CF_HYDRATION_POLICY_MODIFIER : ushort
{
CF_HYDRATION_POLICY_MODIFIER_NONE = 0,
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1,
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2,
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4,
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8,
}<Flags>
Public Enum CF_HYDRATION_POLICY_MODIFIER As UShort
CF_HYDRATION_POLICY_MODIFIER_NONE = 0
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8
End Enumimport enum
class CF_HYDRATION_POLICY_MODIFIER(enum.IntFlag):
CF_HYDRATION_POLICY_MODIFIER_NONE = 0
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8// CF_HYDRATION_POLICY_MODIFIER (flags)
pub const CF_HYDRATION_POLICY_MODIFIER_NONE: u16 = 0;
pub const CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED: u16 = 1;
pub const CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED: u16 = 2;
pub const CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED: u16 = 4;
pub const CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION: u16 = 8;// CF_HYDRATION_POLICY_MODIFIER
const (
CF_HYDRATION_POLICY_MODIFIER_NONE uint16 = 0
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED uint16 = 1
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED uint16 = 2
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED uint16 = 4
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION uint16 = 8
)const
CF_HYDRATION_POLICY_MODIFIER_NONE = 0;
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1;
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2;
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4;
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8;// CF_HYDRATION_POLICY_MODIFIER
pub const CF_HYDRATION_POLICY_MODIFIER_NONE: u16 = 0;
pub const CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED: u16 = 1;
pub const CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED: u16 = 2;
pub const CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED: u16 = 4;
pub const CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION: u16 = 8;const
CF_HYDRATION_POLICY_MODIFIER_NONE* = 0
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED* = 1
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED* = 2
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED* = 4
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION* = 8enum CF_HYDRATION_POLICY_MODIFIER : ushort {
CF_HYDRATION_POLICY_MODIFIER_NONE = 0,
CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED = 1,
CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED = 2,
CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED = 4,
CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION = 8,
}#define global CF_HYDRATION_POLICY_MODIFIER_NONE 0x0
#define global CF_HYDRATION_POLICY_MODIFIER_VALIDATION_REQUIRED 0x1
#define global CF_HYDRATION_POLICY_MODIFIER_STREAMING_ALLOWED 0x2
#define global CF_HYDRATION_POLICY_MODIFIER_AUTO_DEHYDRATION_ALLOWED 0x4
#define global CF_HYDRATION_POLICY_MODIFIER_ALLOW_FULL_RESTART_HYDRATION 0x8
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。