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.CompletionStatus を STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でハイドレーション要求の処理に失敗し、ハイドレーションを再開しない場合は、CompletionStatus で STATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
- OpParams.TransferData.CompletionStatus がSTATUS_SUCCESSであり、OpParams.TransferData.Length バイト以上である必要がある場合、OpParams.TransferData.Buffer は有効なユーザー モード バッファーを指す必要があります。それ以外の場合、バッファー フィールドは無視されます。
- OpParams.TransferData.Offset と OpParams.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 に設定する必要があります。 同期プロバイダーが何らかの理由でハイドレーション要求の処理に失敗し、ハイドレーションを再開しない場合は、CompletionStatus で STATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
DUMMYUNIONNAME.TransferData.Buffer
有効なユーザー モード バッファー。 CompletionStatus がSTATUS_SUCCESSで、Length バイト以上である必要がある場合は、有効なユーザー モード バッファーを指す必要があります。 それ以外の場合、バッファー フィールドは無視されます。
DUMMYUNIONNAME.TransferData.Offset
データが転送されるプレースホルダー内の範囲を表すために Length と共に使用されるオフセット。 同期プロバイダーがデータを転送するプレースホルダー内の範囲について説明します。 同期プロバイダーが 1 回のショットで要求されたすべてのデータを返すという要件はありません。 同期プロバイダーが要求よりも多くのデータを返すこともできます。 たとえば、同期プロバイダーは、パフォーマンスやその他の理由により、読み取りを過剰に行うことにできます。 同期プロバイダーは、同じ FETCH_DATA コールバックへの応答として複数の TRANSFER_DATA 操作を繰り返し実行することもできます。 オフセット は 4 KB に揃える必要があります。
DUMMYUNIONNAME.TransferData.Length
バッファーの長さ (バイト単位)。 記述された範囲が論理ファイル サイズ (EoF) で終わる場合を除き、長さは 4 KB に揃える必要があります。その場合、結果の範囲が論理ファイル サイズの上またはそれ以降で終わる限り、 Length は 4 KB に揃える必要はありません。 CompletionStatus がSTATUS_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.RetrieveData に OpParams.RetrieveData のオフセットを加えたものに設定する必要があります。
- OpParams.RetrieveData.Flags をCF_OPERATION_RETRIEVE_DATA_FLAG_NONEに設定する必要があります。
- OpParams.RetrieveData.Buffer は、有効なユーザー モード バッファーを指し、少なくとも OpParams.RetrieveData.Length バイトである必要があります。 操作が正常に完了すると、以前にプレースホルダーに転送されたデータが TRANSFER_DATA経由で受信されます。
- OpParams.RetrieveData.Offset と OpParams.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.Type を CF_OPERATION_TYPE_ACK_DATA に設定する必要があります。
- OpParams.ParamSize は、正確なサイズの OpParams.AckData に OpParams.AckData のオフセットを加えたものに設定する必要があります。
- OpParams.AckData.Flags をCF_OPERATION_ACK_DATA_FLAG_NONEに設定する必要があります。
- 同期プロバイダーが範囲内のデータを確認できる場合は、OpParams.AckData.CompletionStatus を STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でデータの検証に失敗し、ハイドレーションを再起動しない場合は、CompletionStatus でSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
- OpParams.AckData.Offset と OpParams.AckData.Length は、データが同期プロバイダーによって確認されるプレースホルダー内の範囲を表します。 要求される範囲は、操作の前に TRANSFER_DATA 操作によって完全にハイドレートされる必要はありません。 論理ファイル サイズ (EoF) で説明されている範囲が終わっていない限り、 Offset と Length の両方が 4 KB 揃えになります。その場合、論理ファイル サイズ以降で終わる限り 、Length は 4 KB 揃えである必要はありません。
- の長さは
-1
、CF_EOFとして示され、無限大 (つまりファイルの末尾) を意味します。
ACK_DATA操作が成功すると、ACK_DATA操作の結果として必要なすべてのバイトを受信したプレースホルダー ファイルに対する保留中のユーザー IO 要求が完了します。それ以外の場合、不完全なユーザー IO 要求は、最新のハイドレーション状態を反映するように更新されます。 失敗したACK_DATAの場合、Offset と Length で説明されている範囲と重複するプレースホルダー ファイルに対する保留中のユーザー IO 要求は、CompletionStatus で失敗します。
DUMMYUNIONNAME.AckData.Flags
データを確認するためのフラグ。 これは 、CF_OPERATION_ACK_DATA_FLAG_NONEに設定する必要があります。 詳細については、「 CF_OPERATION_ACK_DATA_FLAGS 」を参照してください。
DUMMYUNIONNAME.AckData.CompletionStatus
データ受信確認の完了状態。 これは、同期プロバイダーが受信確認する範囲内のデータが適切であることを検証する場合は、 STATUS_SUCCESS に設定する必要があります。 同期プロバイダーが何らかの理由でデータの検証に失敗し、ハイドレーションを再起動しない場合は、CompletionStatus でSTATUS_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
タイムスタンプ フィールドの値 (CreationTime、LastAccessTime、LastWriteTime、ChangeTime) は、ファイルの現在のタイムスタンプに変更がないことを意味します。0
FileAttributes の値は、ファイルの現在のファイル属性に変更がないことを意味します。- FileSize には特別な値はありません。 FileSize の値は
0
、ファイル サイズを 0 に切り捨てます。
- OpParams.RestartHydration.FileIdentity と OpParams.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
タイムスタンプ フィールドの値 (CreationTime、LastAccessTime、LastWriteTime、ChangeTime) は、ファイルの現在のタイムスタンプに変更がないことを意味します。- 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 に設定する必要があります。 同期プロバイダーが何らかの理由で退避を禁止する場合は、CompletionStatus でSTATUS_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 に設定する必要があります。 同期プロバイダーが何らかの理由で名前の変更を禁止する場合は、CompletionStatus でSTATUS_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 に設定する必要があります。 同期プロバイダーが何らかの理由で削除を禁止する場合は、CompletionStatus でSTATUS_CLOUD_FILE_* 状態を設定する必要があります。 STATUS_SUCCESSを除く STATUS_CLOUD_FILE_* 範囲外で返された状態 コードは、 プラットフォームによって STATUS_CLOUD_FILE_UNSUCCESSFUL に変換されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10、バージョン 1709 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | cfapi.h |