ホーム › Storage.FileSystem › PCOPYFILE2_PROGRESS_ROUTINE
PCOPYFILE2_PROGRESS_ROUTINE
コールバックシグネチャ
COPYFILE2_MESSAGE_ACTION PCOPYFILE2_PROGRESS_ROUTINE(
COPYFILE2_MESSAGE* pMessage,
void* pvCallbackContext
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| pMessage | COPYFILE2_MESSAGE* | COPYFILE2_MESSAGE 構造体へのポインターです。 |
| pvCallbackContext | void* | CopyFile2 に渡された COPYFILE2_EXTENDED_PARAMETERS 構造体の pvCallbackContext メンバーに指定された値のコピーです。 |
公式ドキュメント
アプリケーション定義のコールバック関数で、 CopyFile2 関数とともに使用されます。コピーまたは移動操作の一部が 完了したときに呼び出されます。PCOPYFILE2_PROGRESS_ROUTINE 型は、このコールバック関数への ポインターを定義します。 CopyFile2ProgressRoutine は、アプリケーション定義の 関数名のプレースホルダーです。
戻り値
実行すべきアクションを示す、COPYFILE2_MESSAGE_ACTION 列挙体の値。
| 戻り値/値 | 説明 |
|---|---|
| コピー操作を続行します。 | |
コピー操作をキャンセルします。CopyFile2 関数は
失敗し、
HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) を返します。また、
部分的にコピーされた断片はすべて削除されます。
|
|
コピー操作を停止します。CopyFile2 関数は
失敗し、HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) を返します。また、
部分的にコピーされた断片はそのまま残されます。この操作を
COPY_FILE_RESUME_FROM_PAUSE フラグで再開できるのは、CopyFile2 関数に渡された
COPYFILE2_EXTENDED_PARAMETERS
構造体の dwCopyFlags メンバーに
COPY_FILE_RESTARTABLE が設定されていた場合のみです。
|
|
| コピー操作は続行しますが、この操作について CopyFile2ProgressRoutine コールバック関数を 再度呼び出しません。 | |
コピー操作を一時停止します。ほとんどの場合、CopyFile2
関数は失敗して
HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) を返し、
部分的にコピーされた断片は(後でコピー操作を再開するために書き込まれるヘッダーを除いて)そのまま残されます。
一時停止の要求が処理された時点でコピー操作が完了していた場合は、
CopyFile2 の呼び出しは成功し、再開用のヘッダーは
書き込まれません。
|
解説(Remarks)
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 透過的フェールオーバー (TFO) | はい |
| スケールアウト ファイル共有 (SO) を使用する SMB 3.0 | はい |
| クラスターの共有ボリューム ファイル システム (CsvFS) | はい |
| 回復性のあるファイル システム (ReFS) | はい |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)