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

CF_CONVERT_FLAGS

列挙型フラグ
基底型i4

メンバー 6

名前10進16進説明
CF_CONVERT_FLAG_NONE00x0変換フラグはありません。
CF_CONVERT_FLAG_MARK_IN_SYNC10x1ファイルの変換に成功すると、プラットフォームは変換されたプレースホルダーをクラウドと同期済みとしてマークします。
CF_CONVERT_FLAG_DEHYDRATE20x2ファイルにのみ適用されます。指定すると、プラットフォームはファイルをプレースホルダーに正常に変換した後、そのファイルをデハイドレートします。このフラグを指定する場合、呼び出し元は排他ハンドルを取得しなければなりません。取得しない場合、データの破損が発生する可能性があります。プラットフォームはハンドルが排他的であるかどうかを検証しないことに注意してください。
CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION40x4ディレクトリにのみ適用されます。指定すると、変換されたプレースホルダーディレクトリが部分的に設定済みとしてマークされ、以降そのディレクトリにアクセスすると、同期プロバイダーに FETCH_PLACEHOLDERS コールバックが送信されます。
CF_CONVERT_FLAG_ALWAYS_FULL80x8このフラグが指定されている場合、新しく作成されるプレースホルダーは常にフルであるとマークされます。いったんハイドレートされると、その(ファイル)プレースホルダーをデハイドレートしようとする試みは、エラーコード ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED で失敗します。このフラグはプレースホルダーファイルに対してのみ適用されます。プレースホルダーディレクトリに設定することもできますが、効果はありません。
CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE160x10

指定すると、プラットフォームは、同期エンジンがクラウドファイル以外のプレースホルダー(別の再解析タグ/データを持つもの)をクラウドファイルのプレースホルダーへアトミックに変換することを許可します。通常、この API はプレースホルダーではないファイルのプレースホルダーへの変換に失敗することに注意してください。

(CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE | CF_CONVERT_FLAG_DEHYDRATE) の組み合わせは、特定のプロバイダーが別のプラットフォームからクラウドファイルプラットフォームへ移行し、旧プラットフォーム上のハイドレート済みプレースホルダーをクラウドファイルプラットフォーム上のデハイドレート済みプレースホルダーへアトミックに変換しようとする移行シナリオで特に有用です。フルプレースホルダーをクラウドファイルのプレースホルダーへ変換する場合は、このフラグのみを渡してください。旧プラットフォームがフルファイルを通常の非プレースホルダーファイルとして実装している場合、このフラグは必要ありません。ディレクトリに対してこのフラグを渡すと、ディレクトリもクラウドファイルへ変換されますが、DEHYDRATE フラグはディレクトリには適用されません。

CfRegisterSyncRoot でポリシー CF_PLACEHOLDER_MANAGEMENT_POLICY_CONVERT_TO_UNRESTRICTED が指定されている場合でも、このフラグを指定できるのは、クラウドファイルの同期ルートに登録済み/接続済みのプロセスのみです。

メモ

このフラグは、CfGetPlatformInfo から取得した PlatformVersion.IntegrationNumber0x500 以上の場合にのみサポートされます。

公式ドキュメント

通常のファイル/ディレクトリからプレースホルダーファイル/ディレクトリへの変換フラグです。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_CONVERT_FLAGS : int {
    CF_CONVERT_FLAG_NONE = 0,
    CF_CONVERT_FLAG_MARK_IN_SYNC = 1,
    CF_CONVERT_FLAG_DEHYDRATE = 2,
    CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4,
    CF_CONVERT_FLAG_ALWAYS_FULL = 8,
    CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16
} CF_CONVERT_FLAGS;
[Flags]
public enum CF_CONVERT_FLAGS : int
{
    CF_CONVERT_FLAG_NONE = 0,
    CF_CONVERT_FLAG_MARK_IN_SYNC = 1,
    CF_CONVERT_FLAG_DEHYDRATE = 2,
    CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4,
    CF_CONVERT_FLAG_ALWAYS_FULL = 8,
    CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16,
}
<Flags>
Public Enum CF_CONVERT_FLAGS As Integer
    CF_CONVERT_FLAG_NONE = 0
    CF_CONVERT_FLAG_MARK_IN_SYNC = 1
    CF_CONVERT_FLAG_DEHYDRATE = 2
    CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4
    CF_CONVERT_FLAG_ALWAYS_FULL = 8
    CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16
End Enum
import enum

class CF_CONVERT_FLAGS(enum.IntFlag):
    CF_CONVERT_FLAG_NONE = 0
    CF_CONVERT_FLAG_MARK_IN_SYNC = 1
    CF_CONVERT_FLAG_DEHYDRATE = 2
    CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4
    CF_CONVERT_FLAG_ALWAYS_FULL = 8
    CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16
// CF_CONVERT_FLAGS (flags)
pub const CF_CONVERT_FLAG_NONE: i32 = 0;
pub const CF_CONVERT_FLAG_MARK_IN_SYNC: i32 = 1;
pub const CF_CONVERT_FLAG_DEHYDRATE: i32 = 2;
pub const CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION: i32 = 4;
pub const CF_CONVERT_FLAG_ALWAYS_FULL: i32 = 8;
pub const CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE: i32 = 16;
// CF_CONVERT_FLAGS
const (
	CF_CONVERT_FLAG_NONE int32 = 0
	CF_CONVERT_FLAG_MARK_IN_SYNC int32 = 1
	CF_CONVERT_FLAG_DEHYDRATE int32 = 2
	CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION int32 = 4
	CF_CONVERT_FLAG_ALWAYS_FULL int32 = 8
	CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE int32 = 16
)
const
  CF_CONVERT_FLAG_NONE = 0;
  CF_CONVERT_FLAG_MARK_IN_SYNC = 1;
  CF_CONVERT_FLAG_DEHYDRATE = 2;
  CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4;
  CF_CONVERT_FLAG_ALWAYS_FULL = 8;
  CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16;
// CF_CONVERT_FLAGS
pub const CF_CONVERT_FLAG_NONE: i32 = 0;
pub const CF_CONVERT_FLAG_MARK_IN_SYNC: i32 = 1;
pub const CF_CONVERT_FLAG_DEHYDRATE: i32 = 2;
pub const CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION: i32 = 4;
pub const CF_CONVERT_FLAG_ALWAYS_FULL: i32 = 8;
pub const CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE: i32 = 16;
const
  CF_CONVERT_FLAG_NONE* = 0
  CF_CONVERT_FLAG_MARK_IN_SYNC* = 1
  CF_CONVERT_FLAG_DEHYDRATE* = 2
  CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION* = 4
  CF_CONVERT_FLAG_ALWAYS_FULL* = 8
  CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE* = 16
enum CF_CONVERT_FLAGS : int {
    CF_CONVERT_FLAG_NONE = 0,
    CF_CONVERT_FLAG_MARK_IN_SYNC = 1,
    CF_CONVERT_FLAG_DEHYDRATE = 2,
    CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION = 4,
    CF_CONVERT_FLAG_ALWAYS_FULL = 8,
    CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE = 16,
}
#define global CF_CONVERT_FLAG_NONE                        0x0
#define global CF_CONVERT_FLAG_MARK_IN_SYNC                0x1
#define global CF_CONVERT_FLAG_DEHYDRATE                   0x2
#define global CF_CONVERT_FLAG_ENABLE_ON_DEMAND_POPULATION 0x4
#define global CF_CONVERT_FLAG_ALWAYS_FULL                 0x8
#define global CF_CONVERT_FLAG_FORCE_CONVERT_TO_CLOUD_FILE 0x10
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。