Win32 API 日本語リファレンス
ホームStorage.CloudFilters › CF_UPDATE_FLAGS

CF_UPDATE_FLAGS

列挙型フラグ
基底型i4

メンバー 12

名前10進16進説明
CF_UPDATE_FLAG_NONE00x0

0x00000000

更新フラグはありません。

CF_UPDATE_FLAG_VERIFY_IN_SYNC10x1

0x00000001

プレースホルダーに現在 CF_UPDATE_FLAG_MARK_IN_SYNC 属性が設定されていない場合、更新は失敗します。これは、クラウドからローカルのプレースホルダーへの変更の同期と、プレースホルダーのデータストリームがローカルで変更されることとの競合を防ぐためです。

CF_UPDATE_FLAG_MARK_IN_SYNC20x2

0x00000002

プレースホルダーの更新操作が成功すると、プラットフォームはそのプレースホルダーを同期済み (in-sync) としてマークします。

CF_UPDATE_FLAG_DEHYDRATE40x4

0x00000004

ファイルにのみ適用されます。指定すると、プラットフォームはプレースホルダーの更新に成功した後、そのファイルをデハイドレートします。このフラグを指定する場合、呼び出し元は排他ハンドルを取得しなければなりません。そうしないとデータの破損が発生する可能性があります。なお、プラットフォームはハンドルの排他性を検証しません。

CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION80x8

0x00000008

ディレクトリにのみ適用されます。指定すると、更新されたプレースホルダーディレクトリを部分的に設定済みとしてマークし、以降そのディレクトリにアクセスすると同期プロバイダーに FETCH_PLACEHOLDERS コールバックが送信されるようになります。

CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION160x10

0x00000010

ディレクトリにのみ適用されます。指定すると、更新されたプレースホルダーディレクトリを完全に設定済みとしてマークし、以降そのディレクトリへのアクセスは同期プロバイダーへのコールバックなしにプラットフォームによって処理されるようになります。

CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY320x20

0x00000020

指定すると、CfUpdatePlaceholderFileIdentity および FileIdentityLength は無視され、更新呼び出しが成功するとプラットフォームはプレースホルダー上の既存のファイル ID BLOB を削除します。

CF_UPDATE_FLAG_CLEAR_IN_SYNC640x40

0x00000040

プレースホルダーの更新操作が成功すると、プラットフォームはそのプレースホルダーを同期済みでない (not in-sync) としてマークします。

CF_UPDATE_FLAG_REMOVE_PROPERTY1280x80

0x00000080

プラットフォームは、プレースホルダー上の既存の外部プロパティ (extrinsic property) をすべて削除します。

メモ

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

CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA2560x100

0x00000100

プラットフォームは CF_FS_METADATA をフィルター処理せずにそのままファイルシステムへ渡します。指定しない場合、プラットフォームは値が 0 のフィールドの設定をスキップします。

メモ

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

CF_UPDATE_FLAG_ALWAYS_FULL5120x200

0x00000200

CF_UPDATE_FLAG_ALWAYS_FULL はプレースホルダーファイルに対してのみ有効です。指定すると、更新対象のプレースホルダーは常にフル (always full) としてマークされます。いったんハイドレートされると、そのようなプレースホルダーファイルをデハイドレートしようとしても、エラーコード ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED で失敗します。

CF_UPDATE_FLAG_ALLOW_PARTIAL10240x400

0x00000400

CF_UPDATE_FLAG_ALLOW_PARTIAL はプレースホルダーファイルに対してのみ有効です。指定すると、プレースホルダーファイルに常にフルの状態が設定されている場合はそれが解除され、再びデハイドレートできるようになります。このフラグを CF_UPDATE_FLAG_ALWAYS_FULL と同時に指定することは無効であり、その結果としてエラーコード ERROR_CLOUD_FILE_INVALID_REQUEST が返されます。

公式ドキュメント

プレースホルダーファイルまたはディレクトリを更新するためのフラグです。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum CF_UPDATE_FLAGS : int {
    CF_UPDATE_FLAG_NONE = 0,
    CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1,
    CF_UPDATE_FLAG_MARK_IN_SYNC = 2,
    CF_UPDATE_FLAG_DEHYDRATE = 4,
    CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8,
    CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16,
    CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32,
    CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64,
    CF_UPDATE_FLAG_REMOVE_PROPERTY = 128,
    CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256,
    CF_UPDATE_FLAG_ALWAYS_FULL = 512,
    CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024
} CF_UPDATE_FLAGS;
[Flags]
public enum CF_UPDATE_FLAGS : int
{
    CF_UPDATE_FLAG_NONE = 0,
    CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1,
    CF_UPDATE_FLAG_MARK_IN_SYNC = 2,
    CF_UPDATE_FLAG_DEHYDRATE = 4,
    CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8,
    CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16,
    CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32,
    CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64,
    CF_UPDATE_FLAG_REMOVE_PROPERTY = 128,
    CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256,
    CF_UPDATE_FLAG_ALWAYS_FULL = 512,
    CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024,
}
<Flags>
Public Enum CF_UPDATE_FLAGS As Integer
    CF_UPDATE_FLAG_NONE = 0
    CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1
    CF_UPDATE_FLAG_MARK_IN_SYNC = 2
    CF_UPDATE_FLAG_DEHYDRATE = 4
    CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8
    CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16
    CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32
    CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64
    CF_UPDATE_FLAG_REMOVE_PROPERTY = 128
    CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256
    CF_UPDATE_FLAG_ALWAYS_FULL = 512
    CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024
End Enum
import enum

class CF_UPDATE_FLAGS(enum.IntFlag):
    CF_UPDATE_FLAG_NONE = 0
    CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1
    CF_UPDATE_FLAG_MARK_IN_SYNC = 2
    CF_UPDATE_FLAG_DEHYDRATE = 4
    CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8
    CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16
    CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32
    CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64
    CF_UPDATE_FLAG_REMOVE_PROPERTY = 128
    CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256
    CF_UPDATE_FLAG_ALWAYS_FULL = 512
    CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024
// CF_UPDATE_FLAGS (flags)
pub const CF_UPDATE_FLAG_NONE: i32 = 0;
pub const CF_UPDATE_FLAG_VERIFY_IN_SYNC: i32 = 1;
pub const CF_UPDATE_FLAG_MARK_IN_SYNC: i32 = 2;
pub const CF_UPDATE_FLAG_DEHYDRATE: i32 = 4;
pub const CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION: i32 = 8;
pub const CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION: i32 = 16;
pub const CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY: i32 = 32;
pub const CF_UPDATE_FLAG_CLEAR_IN_SYNC: i32 = 64;
pub const CF_UPDATE_FLAG_REMOVE_PROPERTY: i32 = 128;
pub const CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA: i32 = 256;
pub const CF_UPDATE_FLAG_ALWAYS_FULL: i32 = 512;
pub const CF_UPDATE_FLAG_ALLOW_PARTIAL: i32 = 1024;
// CF_UPDATE_FLAGS
const (
	CF_UPDATE_FLAG_NONE int32 = 0
	CF_UPDATE_FLAG_VERIFY_IN_SYNC int32 = 1
	CF_UPDATE_FLAG_MARK_IN_SYNC int32 = 2
	CF_UPDATE_FLAG_DEHYDRATE int32 = 4
	CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION int32 = 8
	CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION int32 = 16
	CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY int32 = 32
	CF_UPDATE_FLAG_CLEAR_IN_SYNC int32 = 64
	CF_UPDATE_FLAG_REMOVE_PROPERTY int32 = 128
	CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA int32 = 256
	CF_UPDATE_FLAG_ALWAYS_FULL int32 = 512
	CF_UPDATE_FLAG_ALLOW_PARTIAL int32 = 1024
)
const
  CF_UPDATE_FLAG_NONE = 0;
  CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1;
  CF_UPDATE_FLAG_MARK_IN_SYNC = 2;
  CF_UPDATE_FLAG_DEHYDRATE = 4;
  CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8;
  CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16;
  CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32;
  CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64;
  CF_UPDATE_FLAG_REMOVE_PROPERTY = 128;
  CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256;
  CF_UPDATE_FLAG_ALWAYS_FULL = 512;
  CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024;
// CF_UPDATE_FLAGS
pub const CF_UPDATE_FLAG_NONE: i32 = 0;
pub const CF_UPDATE_FLAG_VERIFY_IN_SYNC: i32 = 1;
pub const CF_UPDATE_FLAG_MARK_IN_SYNC: i32 = 2;
pub const CF_UPDATE_FLAG_DEHYDRATE: i32 = 4;
pub const CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION: i32 = 8;
pub const CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION: i32 = 16;
pub const CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY: i32 = 32;
pub const CF_UPDATE_FLAG_CLEAR_IN_SYNC: i32 = 64;
pub const CF_UPDATE_FLAG_REMOVE_PROPERTY: i32 = 128;
pub const CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA: i32 = 256;
pub const CF_UPDATE_FLAG_ALWAYS_FULL: i32 = 512;
pub const CF_UPDATE_FLAG_ALLOW_PARTIAL: i32 = 1024;
const
  CF_UPDATE_FLAG_NONE* = 0
  CF_UPDATE_FLAG_VERIFY_IN_SYNC* = 1
  CF_UPDATE_FLAG_MARK_IN_SYNC* = 2
  CF_UPDATE_FLAG_DEHYDRATE* = 4
  CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION* = 8
  CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION* = 16
  CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY* = 32
  CF_UPDATE_FLAG_CLEAR_IN_SYNC* = 64
  CF_UPDATE_FLAG_REMOVE_PROPERTY* = 128
  CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA* = 256
  CF_UPDATE_FLAG_ALWAYS_FULL* = 512
  CF_UPDATE_FLAG_ALLOW_PARTIAL* = 1024
enum CF_UPDATE_FLAGS : int {
    CF_UPDATE_FLAG_NONE = 0,
    CF_UPDATE_FLAG_VERIFY_IN_SYNC = 1,
    CF_UPDATE_FLAG_MARK_IN_SYNC = 2,
    CF_UPDATE_FLAG_DEHYDRATE = 4,
    CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION = 8,
    CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION = 16,
    CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY = 32,
    CF_UPDATE_FLAG_CLEAR_IN_SYNC = 64,
    CF_UPDATE_FLAG_REMOVE_PROPERTY = 128,
    CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA = 256,
    CF_UPDATE_FLAG_ALWAYS_FULL = 512,
    CF_UPDATE_FLAG_ALLOW_PARTIAL = 1024,
}
#define global CF_UPDATE_FLAG_NONE                         0x0
#define global CF_UPDATE_FLAG_VERIFY_IN_SYNC               0x1
#define global CF_UPDATE_FLAG_MARK_IN_SYNC                 0x2
#define global CF_UPDATE_FLAG_DEHYDRATE                    0x4
#define global CF_UPDATE_FLAG_ENABLE_ON_DEMAND_POPULATION  0x8
#define global CF_UPDATE_FLAG_DISABLE_ON_DEMAND_POPULATION 0x10
#define global CF_UPDATE_FLAG_REMOVE_FILE_IDENTITY         0x20
#define global CF_UPDATE_FLAG_CLEAR_IN_SYNC                0x40
#define global CF_UPDATE_FLAG_REMOVE_PROPERTY              0x80
#define global CF_UPDATE_FLAG_PASSTHROUGH_FS_METADATA      0x100
#define global CF_UPDATE_FLAG_ALWAYS_FULL                  0x200
#define global CF_UPDATE_FLAG_ALLOW_PARTIAL                0x400
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。