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

傳遞至 CopyFile2COPYFILE2_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 函式之 dwCopyFlags 成員中的 dwCopyFlagsCOPYFILE2_EXTENDED_PARAMETERS 成員中設定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_PROGRESS_PAUSE 以回應 COPYFILE2_CALLBACK_STREAM_FINISHED 訊息,則不會傳送進一步的回呼。

若要編譯使用 PCOPYFILE2_PROGRESS_ROUTINE 函式指標類型的應用程式,請將_WIN32_WINNT宏定義為 0x0601 或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器消息塊 (SMB) 3.0 通訊協定 Yes
SMB 3.0 透明故障轉移 (TFO) Yes
具有向外延展檔案共用的SMB 3.0 (SO) Yes
叢集共用磁碟區文件系統 (CsvFS) Yes
彈性檔案系統 (ReFS) Yes

規格需求

需求
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)