CF_OPERATION_PARAMETERS 構造体 (cfapi.h)

プレースホルダー ファイルまたはフォルダーに対する操作の詳細なパラメーター。 この構造体で提供されるデータは、操作の CF_OPERATION_TYPE に固有です。

構文

typedef struct CF_OPERATION_PARAMETERS {
  ULONG ParamSize;
  union {
    struct {
      CF_OPERATION_TRANSFER_DATA_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
    } TransferData;
    struct {
      CF_OPERATION_RETRIEVE_DATA_FLAGS Flags;
      LPVOID                           Buffer;
      LARGE_INTEGER                    Offset;
      LARGE_INTEGER                    Length;
      LARGE_INTEGER                    ReturnedLength;
    } RetrieveData;
    struct {
      CF_OPERATION_ACK_DATA_FLAGS Flags;
      NTSTATUS                    CompletionStatus;
      LARGE_INTEGER               Offset;
      LARGE_INTEGER               Length;
    } AckData;
    struct {
      CF_OPERATION_RESTART_HYDRATION_FLAGS Flags;
      const CF_FS_METADATA                 *FsMetadata;
      LPCVOID                              FileIdentity;
      DWORD                                FileIdentityLength;
    } RestartHydration;
    struct {
      CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS Flags;
      NTSTATUS                                 CompletionStatus;
      LARGE_INTEGER                            PlaceholderTotalCount;
      CF_PLACEHOLDER_CREATE_INFO               *PlaceholderArray;
      DWORD                                    PlaceholderCount;
      DWORD                                    EntriesProcessed;
    } TransferPlaceholders;
    struct {
      CF_OPERATION_ACK_DEHYDRATE_FLAGS Flags;
      NTSTATUS                         CompletionStatus;
      LPCVOID                          FileIdentity;
      DWORD                            FileIdentityLength;
    } AckDehydrate;
    struct {
      CF_OPERATION_ACK_RENAME_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckRename;
    struct {
      CF_OPERATION_ACK_DELETE_FLAGS Flags;
      NTSTATUS                      CompletionStatus;
    } AckDelete;
  } DUMMYUNIONNAME;
} CF_OPERATION_PARAMETERS;

メンバー

ParamSize

DUMMYUNIONNAME

DUMMYUNIONNAME.TransferData

同期プロバイダーは、プレースホルダー ファイルをハイドレートするために TRANSFER_DATA を実行します。 この操作は、 FETCH_DATA コールバック、 VALIDATE_DATA コールバックへの応答、またはコールバック コンテキストの外部でのプリエンプティブバックグラウンドハイドレート作業の一環として実行できます。

この API は、 ALWAYS_FULL未満のハイドレーション ポリシーをサポートする同期プロバイダーにのみ適用されます。 それ以外の場合、操作は ERROR_CLOUD_FILE_INVALID_REQUESTで失敗します。

同期プロバイダーは、TRANSFER_DATA操作を実行するファイルへのWRITE_DATAまたはWRITE_DACアクセス権を持っている必要があります。 それ以外の場合、操作は ERROR_CLOUD_FILE_ACCESS_DENIEDで失敗します。

この操作を実行するには:

  • OpInfo.Type をCF_OPERATION_TYPE_TRANSFER_DATA に設定する必要があります。
  • OpParams.ParamSize は、 OpParams.TransferData の正確なサイズと OpParams.TransferData のオフセットに設定する必要があります。
  • OpParams.TransferData.Flags をCF_OPERATION_TRANSFER_DATA_FLAG_NONEに設定する必要があります。
  • 同期プロバイダーがプレースホルダー ファイルにデータを転送する場合は、OpParams.TransferData.CompletionStatusSTATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でハイドレーション要求の処理に失敗し、ハイドレーションを再開しない場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
  • OpParams.TransferData.CompletionStatusSTATUS_SUCCESSであり、OpParams.TransferData.Length バイト以上である必要がある場合、OpParams.TransferData.Buffer は有効なユーザー モード バッファーを指す必要があります。それ以外の場合、バッファー フィールドは無視されます。
  • OpParams.TransferData.OffsetOpParams.TransferData.Length は、同期プロバイダーがデータを転送するプレースホルダー内の範囲を表します。 同期プロバイダーが 1 回のショットで要求されたすべてのデータを返すという要件はありません。 同期プロバイダーが要求よりも多くのデータを返すこともできます。 たとえば、同期プロバイダーは、パフォーマンスやその他の理由により、読み取りを過剰に行うことにできます。 同期プロバイダーは、同じ FETCH_DATA コールバックへの応答として複数の TRANSFER_DATA 操作を繰り返し実行することもできます。 唯一の要件は、論理ファイル サイズ (EoF) で説明されている範囲が終わっていない限り、オフセットと長さの両方が 4 KB に揃えられるということです。この場合、結果の範囲が論理ファイル サイズの上またはそれ以降で終了する限り、長さは 4 KB に揃える必要はありません。

操作の完了時:

  • 同期プロバイダーが同期ルート登録時 にVALIDATION_REQUIRED を指定しない場合。

転送が成功した場合、保留中のユーザー IO は、転送の結果として必要なすべてのバイトを受信したプレースホルダー ファイルを要求します。そうしないと、不完全なユーザー IO 要求が最新のハイドレーション状態を反映するように更新されます。 転送が失敗した場合、オフセットと長さで説明されているように、プレースホルダー ファイル上の保留中のユーザー IO 要求が範囲と重複すると、 OpParams.TransferData.CompletionStatus で失敗します。

同期プロバイダーが同期ルート登録時 にVALIDATION_REQUIRED を指定した場合、範囲内のデータが ACK_DATA操作を 介して同期プロバイダーによって肯定的に確認されるまで、プラットフォームによってそれ以上の処理は行われません。

DUMMYUNIONNAME.TransferData.Flags

データを転送するためのフラグ。 これは 、CF_OPERATION_TRANSFER_DATA_FLAG_NONEに設定する必要があります。 詳細については、「 CF_OPERATION_TRANSFER_DATA_FLAGS 」を参照してください。

DUMMYUNIONNAME.TransferData.CompletionStatus

データ転送の状態。 同期プロバイダーがプレースホルダー ファイルにデータを転送する場合は、 STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でハイドレーション要求の処理に失敗し、ハイドレーションを再開しない場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。

DUMMYUNIONNAME.TransferData.Buffer

有効なユーザー モード バッファー。 CompletionStatusSTATUS_SUCCESS、Length バイト以上である必要がある場合は、有効なユーザー モード バッファーを指す必要があります。 それ以外の場合、バッファー フィールドは無視されます。

DUMMYUNIONNAME.TransferData.Offset

データが転送されるプレースホルダー内の範囲を表すために Length と共に使用されるオフセット。 同期プロバイダーがデータを転送するプレースホルダー内の範囲について説明します。 同期プロバイダーが 1 回のショットで要求されたすべてのデータを返すという要件はありません。 同期プロバイダーが要求よりも多くのデータを返すこともできます。 たとえば、同期プロバイダーは、パフォーマンスやその他の理由により、読み取りを過剰に行うことにできます。 同期プロバイダーは、同じ FETCH_DATA コールバックへの応答として複数の TRANSFER_DATA 操作を繰り返し実行することもできます。 オフセット は 4 KB に揃える必要があります。

DUMMYUNIONNAME.TransferData.Length

バッファー長さ (バイト単位)。 記述された範囲が論理ファイル サイズ (EoF) で終わる場合を除き、長さは 4 KB に揃える必要があります。その場合、結果の範囲が論理ファイル サイズの上またはそれ以降で終わる限り、 Length は 4 KB に揃える必要はありません。 CompletionStatusSTATUS_SUCCESSされていない場合でも、このフィールドは有効な値に設定する必要があります。

DUMMYUNIONNAME.RetrieveData

同期プロバイダーは、プレースホルダーに転送されたデータの整合性を検証するために、プレースホルダーハイドレーションの一部として RETRIEVE_DATA操作を 実行します。 この操作は、 FETCH_DATA コールバック、 VALIDATE_DATA コールバックへの応答、またはコールバック コンテキストの外部でのプリエンプティブバックグラウンドハイドレート作業の一環として実行できます。

この API は、 ALWAYS_FULL未満のハイドレーション ポリシーをサポートする同期プロバイダーにのみ適用されます。 それ以外の場合、操作は STATUS_CLOUD_FILE_NOT_SUPPORTEDで失敗します。

同期プロバイダーは、この操作を実行するために、同期ルート登録時 にVALIDATE_REQUIRED ハイドレーション ポリシー修飾子を指定する必要があります。 それ以外の場合、 操作は STATUS_CLOUD_FILE_NOT_SUPPORTED で失敗します。

同期プロバイダーは、RETRIEVE_DATA操作を実行するファイルへのREAD_DATAまたはWRITE_DACアクセス権を持っている必要があります。 それ以外の場合、 操作はSTATUS_CLOUD_FILE_ACCESS_DENIEDで失敗します。

この操作を実行するには:

  • OpInfo.Type をCF_OPERATION_TYPE_RETRIEVE_DATA に設定する必要があります。
  • OpParams.ParamSize は、正確なサイズの OpParams.RetrieveDataOpParams.RetrieveData のオフセットを加えたものに設定する必要があります。
  • OpParams.RetrieveData.Flags をCF_OPERATION_RETRIEVE_DATA_FLAG_NONEに設定する必要があります。
  • OpParams.RetrieveData.Buffer は、有効なユーザー モード バッファーを指し、少なくとも OpParams.RetrieveData.Length バイトである必要があります。 操作が正常に完了すると、以前にプレースホルダーに転送されたデータが TRANSFER_DATA経由で受信されます。
  • OpParams.RetrieveData.OffsetOpParams.RetrieveData.Length は、同期プロバイダーがデータを取得するプレースホルダー内の範囲を表します。 要求される範囲は、RETRIEVE_DATA操作の前にTRANSFER_DATA操作によって完全にハイドレートされている必要があります。そうしないと、STATUS_CLOUD_FILE_INVALID_REQUESTで操作が失敗します。 論理ファイル サイズ (EoF) で説明されている範囲が終わっていない限り、オフセットと長さの両方が 4 KB 揃えになります。その場合、論理ファイル サイズで終わる限り、長さは 4 KB に揃える必要はありません。
  • OpParams.RetrieveData.ReturnedLength は、操作が正常に完了したときに取得された実際のバイト数を受け取ります。

DUMMYUNIONNAME.RetrieveData.Flags

データを取得するためのフラグ。 これは 、CF_OPERATION_RETRIEVE_DATA_FLAG_NONEに設定する必要があります。 詳細については、「 CF_OPERATION_RETRIEVE_DATA_FLAGS 」を参照してください。

DUMMYUNIONNAME.RetrieveData.Buffer

これは、有効なユーザー モード バッファーを指し、少なくとも Length バイトである必要があります。 操作が正常に完了すると、以前にプレースホルダーに転送されたデータが TRANSFER_DATA経由で受信されます。

DUMMYUNIONNAME.RetrieveData.Offset

プレースホルダーから取得したデータの範囲を表すために Length と共に使用されるオフセット。 同期プロバイダーがデータを取得するプレースホルダー内の範囲について説明します。 要求される範囲は、RETRIEVE_DATA操作の前にTRANSFER_DATA操作によって完全にハイドレートされている必要があります。そうしないと、STATUS_CLOUD_FILE_INVALID_REQUESTで操作が失敗します。 オフセット は 4 KB に揃える必要があります。

DUMMYUNIONNAME.RetrieveData.Length

Buffer の長さ (バイト単位)。 これは、記述された範囲が論理ファイル サイズ (EoF) で終わる場合を除き、4 KB アラインメントされます。この場合、 Length は論理ファイル サイズで終わるかそれ以上である限り、4 KB アラインメントする必要はありません。

DUMMYUNIONNAME.RetrieveData.ReturnedLength

操作が正常に完了した場合に取得されたバイト数。

DUMMYUNIONNAME.AckData

同期プロバイダーは、以前に プラットフォームに転送 されたデータの整合性を検証した後、プレースホルダーハイドレートの一部としてACK_DATA操作を実行します。 この操作は、 FETCH_DATA コールバック、 VALIDATE_DATA コールバックへの応答、またはコールバック コンテキストの外部でのプリエンプティブバックグラウンドハイドレート作業の一環として実行できます。

この API は、 ALWAYS_FULL未満のハイドレーション ポリシーをサポートする同期プロバイダーにのみ適用されます。 それ以外の場合、操作は STATUS_CLOUD_FILE_NOT_SUPPORTEDで失敗します。

同期プロバイダーは、この操作を実行するために、同期ルート登録時 にVALIDATE_REQUIRED ハイドレーション ポリシー修飾子を指定する必要があります。 それ以外の場合、 操作は STATUS_CLOUD_FILE_NOT_SUPPORTED で失敗します。

同期プロバイダーは、ACK_DATA操作を実行するファイルへのREAD_DATAまたはWRITE_DACアクセス権を持っている必要があります。 それ以外の場合、 操作はSTATUS_CLOUD_FILE_ACCESS_DENIEDで失敗します。

この操作を実行するには:

  • OpInfo.TypeCF_OPERATION_TYPE_ACK_DATA に設定する必要があります。
  • OpParams.ParamSize は、正確なサイズの OpParams.AckDataOpParams.AckDataオフセットを加えたものに設定する必要があります。
  • OpParams.AckData.Flags をCF_OPERATION_ACK_DATA_FLAG_NONEに設定する必要があります。
  • 同期プロバイダーが範囲内のデータを確認できる場合は、OpParams.AckData.CompletionStatusSTATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でデータの検証に失敗し、ハイドレーションを再起動しない場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
  • OpParams.AckData.OffsetOpParams.AckData.Length は、データが同期プロバイダーによって確認されるプレースホルダー内の範囲を表します。 要求される範囲は、操作の前に TRANSFER_DATA 操作によって完全にハイドレートされる必要はありません。 論理ファイル サイズ (EoF) で説明されている範囲が終わっていない限り、 OffsetLength の両方が 4 KB 揃えになります。その場合、論理ファイル サイズ以降で終わる限り 、Length は 4 KB 揃えである必要はありません。
  • の長さは-1、CF_EOFとして示され、無限大 (つまりファイルの末尾) を意味します。

ACK_DATA操作が成功すると、ACK_DATA操作の結果として必要なすべてのバイトを受信したプレースホルダー ファイルに対する保留中のユーザー IO 要求が完了します。それ以外の場合、不完全なユーザー IO 要求は、最新のハイドレーション状態を反映するように更新されます。 失敗したACK_DATAの場合、OffsetLength で説明されている範囲と重複するプレースホルダー ファイルに対する保留中のユーザー IO 要求は、CompletionStatus で失敗します。

DUMMYUNIONNAME.AckData.Flags

データを確認するためのフラグ。 これは 、CF_OPERATION_ACK_DATA_FLAG_NONEに設定する必要があります。 詳細については、「 CF_OPERATION_ACK_DATA_FLAGS 」を参照してください。

DUMMYUNIONNAME.AckData.CompletionStatus

データ受信確認の完了状態。 これは、同期プロバイダーが受信確認する範囲内のデータが適切であることを検証する場合は、 STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でデータの検証に失敗し、ハイドレーションを再起動しない場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。

DUMMYUNIONNAME.AckData.Offset

確認するプレースホルダー データのオフセット (バイト単位)。 Offset は、同期プロバイダーによってデータが確認されるプレースホルダー内の範囲を表します。 要求される範囲は、操作の前に TRANSFER_DATA 操作によって完全にハイドレートされる必要はありません。 オフセット は 4 KB に揃える必要があります。

DUMMYUNIONNAME.AckData.Length

確認するプレースホルダー内のデータの長さ (バイト単位)。 論理ファイル サイズ (EoF) で説明されている範囲が終わる場合を除 き、4 KB のアラインメントが必要です。この場合、Length は論理ファイル サイズの上またはそれ以降で終わる限り、4 KB のアラインメントは必要ありません。 の長さは-1、CF_EOFとして示され、無限大 (つまりファイルの末尾) を意味します。

DUMMYUNIONNAME.RestartHydration

同期プロバイダーは、 RESTART_HYDRATION 操作を実行して、継続的なハイドレーションを再起動します。 この操作は、 FETCH_DATA コールバック、 VALIDATE_DATA コールバックへの応答、またはコールバック コンテキスト外でのプリエンプティブバックグラウンドハイドレーション作業の一環として実行できます。

この API は、 FULL ハイドレーション ポリシーをサポートする同期プロバイダーにのみ適用されます。 それ以外の場合、 操作は STATUS_CLOUD_FILE_NOT_SUPPORTED で失敗します。

同期プロバイダーは、RESTART_HYDRATION操作を実行するファイルへのWRITE_DATAまたはWRITE_DACアクセス権を持っている必要があります。 それ以外の場合、 操作は STATUS_CLOUD_FILE_ACCESS_DENIED で失敗します。

この操作を実行するには:

  • OpInfo.Type をCF_OPERATION_TYPE_RESTART_HYDRATION に設定する必要があります。
  • OpParams.ParamSize は、 OpParams.RestartHydration と OpParams.RestartHydrationオフセット の正確なサイズに設定 する必要があります。
  • OpParams.RestartHydration.Flags、CF_OPERATION_RESTART_HYDRATION_FLAG_NONE または CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNCに設定する必要があります。
    • CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNCが指定されている場合、プレースホルダーは正常なRESTART_HYDRATION操作時に同期中としてマークされます。
  • OpParams.RestartHydration.FsMetadata は省略可能です。 指定された場合:
    • 0タイムスタンプ フィールドの値 (CreationTimeLastAccessTimeLastWriteTimeChangeTime) は、ファイルの現在のタイムスタンプに変更がないことを意味します。
    • 0FileAttributes の値は、ファイルの現在のファイル属性に変更がないことを意味します。
    • FileSize には特別な値はありません。 FileSize の値は0、ファイル サイズを 0 に切り捨てます。
  • OpParams.RestartHydration.FileIdentityOpParams.RestartHydration.FileIdentityLength は省略可能です。 指定すると、新しい ID がファイルに保持されます。 それ以外の場合、現在のファイル ID は残ります。

同期プロバイダーは、プレースホルダー内のディスク上のデータが実際には無効であり、I/O 要求を満たすのに適していないと判断した場合に、この API を呼び出します。 一般的なシナリオは、何らかの理由で取得されたデータがチェックサム検証に失敗した場合です。 別の使用シナリオは、ハイドレーションの過程で、ファイルの内容が実際にクラウドで更新されている場合に発生します (同期プロバイダーは、ローカル プレースホルダー バージョンに対応する履歴コンテンツをクラウドから取得できません)。

再起動が成功すると、プレースホルダーは完全に脱水され、新しいメタデータ (存在する場合) で更新されます。 保留中のユーザー IO 要求がある場合は、到着したかのように再処理され、その結果、同期プロバイダーは、同期プロバイダーが以前に受け取ったコールバックとまったく同じ新しいコールバックを受け取ります。

ただし、何らかの理由で再起動が失敗した場合、プレースホルダーはエラーが発生した場所に応じて非決定的な状態のままになり、プレースホルダーに対するすべての保留中のユーザー IO 要求は同じエラーで失敗します。 この場合、プラットフォームで保証されるのは、プレースホルダー ファイルへの将来のユーザー アクセスによって同じコールバックがトリガーされるということです。

DUMMYUNIONNAME.RestartHydration.Flags

プレースホルダーハイドレーションを再開するためのフラグ。 これは、 CF_OPERATION_RESTART_HYDRATION_FLAG_NONE または CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNCに設定する必要があります。 CF_OPERATION_RESTART_HYDRATION_FLAG_MARK_IN_SYNCが指定されている場合、プレースホルダーは正常なRESTART_HYDRATION操作時に同期中としてマークされます。 詳細については、「 CF_OPERATION_RESTART_HYDRATION_FLAGS 」を参照してください。

DUMMYUNIONNAME.RestartHydration.FsMetadata

省略可能。 ファイル メタデータの更新が含まれます。 指定した場合:

  • 0タイムスタンプ フィールドの値 (CreationTimeLastAccessTimeLastWriteTimeChangeTime) は、ファイルの現在のタイムスタンプに変更がないことを意味します。
  • FileAttributes の値は0、ファイルの現在のファイル属性に変更がないことを意味します。
  • FileSize には特別な値はありません。 FileSize の値は0、ファイル サイズを 0 に切り捨てます。

DUMMYUNIONNAME.RestartHydration.FileIdentity

省略可能。 指定すると、ファイル ID がこの値に更新されます。 それ以外の場合は、同じままです。

DUMMYUNIONNAME.RestartHydration.FileIdentityLength

省略可能。 これは 、FileIdentity の長さを指定します。

DUMMYUNIONNAME.TransferPlaceholders

DUMMYUNIONNAME.TransferPlaceholders.Flags

プレースホルダーを転送するためのフラグ。 詳細については、「 CF_OPERATION_TRANSFER_PLACEHOLDERS_FLAGS 」を参照してください。

DUMMYUNIONNAME.TransferPlaceholders.CompletionStatus

転送プレースホルダー操作の完了状態。

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderTotalCount

プレースホルダーの合計数。

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderArray

転送するプレースホルダーの配列。

DUMMYUNIONNAME.TransferPlaceholders.PlaceholderCount

転送されるプレースホルダーの数。

DUMMYUNIONNAME.TransferPlaceholders.EntriesProcessed

処理されたプレースホルダー エントリ。

DUMMYUNIONNAME.AckDehydrate

DUMMYUNIONNAME.AckDehydrate.Flags

退避されたデータ受信確認フラグ。 詳細については、「 CF_OPERATION_ACK_DEHYDRATE_FLAGS 」を参照してください。

DUMMYUNIONNAME.AckDehydrate.CompletionStatus

退避確認操作の完了状態。 これは、同期プロバイダーが退避を続行できる場合は、 STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由で退避を禁止する場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。

DUMMYUNIONNAME.AckDehydrate.FileIdentity

脱水データを確認するプレースホルダー ファイルのファイル ID。

DUMMYUNIONNAME.AckDehydrate.FileIdentityLength

FileIdentity の長さ (バイト単位)。

DUMMYUNIONNAME.AckRename

DUMMYUNIONNAME.AckRename.Flags

プレースホルダー フラグの名前変更を確認します。 詳細については、「 CF_OPERATION_ACK_RENAME_FLAGS 」を参照してください。

DUMMYUNIONNAME.AckRename.CompletionStatus

名前の確認操作の完了状態。 同期プロバイダーが名前変更操作の続行を許可できる場合は、これを STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由で名前の変更を禁止する場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。

DUMMYUNIONNAME.AckDelete

DUMMYUNIONNAME.AckDelete.Flags

削除フラグを確認します。 詳細については、「 CF_OPERATION_ACK_DELETE_FLAGS 」を参照してください。

DUMMYUNIONNAME.AckDelete.CompletionStatus

削除確認操作の完了状態。 これは、同期プロバイダーが削除操作の続行を許可できる場合は、 STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由で削除を禁止する場合は、CompletionStatusSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。

要件

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

こちらもご覧ください

CfExecute

CF_OPERATION_TRANSFER_DATA_FLAGS

CF_OPERATION_RETRIEVE_DATA_FLAGS