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枚举中的值,指示应采取的操作。
返回代码/值 | 说明 |
---|---|
|
继续复制操作。 |
|
取消复制操作。 CopyFile2 函数将失败,返回HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) 并删除所有部分复制的片段。
|
|
停止复制操作。 CopyFile2 函数将失败,返回HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) 并且所有部分复制的片段将保持不变。 仅当在传递给 CopyFile2 函数的 COPYFILE2_EXTENDED_PARAMETERS 结构的 dwCopyFlags 成员中设置了COPY_FILE_RESTARTABLE时,才能使用 COPY_FILE_RESUME_FROM_PAUSE 标志重新启动操作。
|
|
继续复制操作,但不为此操作再次调用 CopyFile2ProgressRoutine 回调函数。 |
|
暂停复制操作。 在大多数情况下, 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 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 是 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 是 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |