次の方法で共有


PCOPYFILE2_PROGRESS_ROUTINE コールバック関数 (winbase.h)

CopyFile2 関数で使用される、アプリケーション定義のコールバック関数。 これは、コピー操作または移動操作の一部が完了したときに呼び出されます。 PCOPYFILE2_PROGRESS_ROUTINE型は、このコールバック関数へのポインターを定義します。 CopyFile2ProgressRoutine は、アプリケーション定義関数名のプレースホルダーです。

構文

PCOPYFILE2_PROGRESS_ROUTINE Pcopyfile2ProgressRoutine;

COPYFILE2_MESSAGE_ACTION Pcopyfile2ProgressRoutine(
  [in]           const COPYFILE2_MESSAGE *pMessage,
  [in, optional] PVOID pvCallbackContext
)
{...}

パラメーター

[in] pMessage

COPYFILE2_MESSAGE構造体へのポインター。

[in, optional] pvCallbackContext

CopyFile2 に渡されるCOPYFILE2_EXTENDED_PARAMETERS構造体の pvCallbackContext メンバーに渡される値のコピー。

戻り値

実行する必要があるアクションを示す COPYFILE2_MESSAGE_ACTION 列挙からの値。

リターン コード/値 Description
COPYFILE2_PROGRESS_CONTINUE
0
コピー操作を続行します。
COPYFILE2_PROGRESS_CANCEL
1
コピー操作を取り消します。 CopyFile2 関数は失敗し、 が返HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED)され、部分的にコピーされたフラグメントはすべて削除されます。
COPYFILE2_PROGRESS_STOP
2
コピー操作を停止します。 CopyFile2 関数は失敗し、 が返HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED)され、部分的にコピーされたフラグメントはそのまま残ります。 copyFile2 関数に渡されるCOPYFILE2_EXTENDED_PARAMETERS構造体の dwCopyFlags メンバーにCOPY_FILE_RESTARTABLEが設定されている場合にのみ、COPY_FILE_RESUME_FROM_PAUSE フラグを使用して操作を再開できます。
COPYFILE2_PROGRESS_QUIET
3
コピー操作を続行しますが、この操作に対して CopyFile2ProgressRoutine コールバック関数を再度呼び出さないでください。
COPYFILE2_PROGRESS_PAUSE
4
コピー操作を一時停止します。 ほとんどの場合、 CopyFile2 関数は失敗して 戻 HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) り、部分的にコピーされたフラグメントはそのまま残ります (後でコピー操作を再開するために使用されるヘッダーを除きます)。一時停止要求が処理された時点でコピー操作が完了した場合、 CopyFile2 呼び出しは正常に完了し、再開ヘッダーは書き込まれなくなります。

注釈

COPYFILE2_CALLBACK_STREAM_FINISHED メッセージは、一時停止されたコピーの最後のメッセージです。 COPYFILE2_CALLBACK_STREAM_FINISHEDメッセージに応答してCOPYFILE2_PROGRESS_PAUSEが返された場合、それ以上のコールバックは送信されません。

PCOPYFILE2_PROGRESS_ROUTINE関数ポインター型を使用するアプリケーションをコンパイルするには、_WIN32_WINNT マクロを 0x0601 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 Transparent Failover (TFO) はい
スケールアウト ファイル共有 (SO) を使う SMB 3.0 はい
クラスターの共有ボリューム ファイル システム (CsvFS) はい
Resilient File System (ReFS) はい

必要条件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)