IXtfDeployCallback 接口

提供在 IXtfApplicationClient::Deploy 操作期间出现可跟踪操作时所调用的回调。

语法

interface IXtfDeployCallback : public IUnknown  

方法

方法 说明
OnDeployChangeEvaluation 当评估需要传输或删除哪些文件时调用的回调。
OnDeployError 保留供内部使用。
OnDeployExtraFileDetected 当检测到额外的文件时调用的回调。
OnDeployExtraFileRemoved 为报告主机上的额外文件已删除而调用的回调。
OnDeployFileProgress 为报告将文件部署到主机的进度而调用的回调
OnDeployInitialized 开始部署时调用的回调。
OnDeployMetrics 当报告部署指标时调用的回调。

备注

所有回调方法对其返回值都以相同的方式操作。 如果回调返回成功 HResult,则部署过程继续。 如果回调返回任何失败的 HResult,则部署过程立即取消。 已传输或删除的文件保持原样,部分传输的文件将以其截断形式关闭。

回调过程很简单。 部署开发电脑上的每个文件都与其在目标主机上的相应文件作比较。

  • 如果文件在电脑和主机上是相同的,则无需执行更多操作。
  • 如果电脑上的文件比主机上的文件新,则将该文件从电脑复制到主机。
  • 如果文件存在于电脑上但不在主机上,则将其复制到主机。
  • 如果文件存在于主机上但不在电脑上,则可以选择将其从主机中删除。 (是否删除它由 Deploy 的 fRemoveExtraFiles 参数的值确定)。

在部署过程中的适当时间调用回调方法。

  1. OnDeployInitialized:在已经进入部署系统时调用此回调,此回调可用于启动计时部署或初始化进度对话框。 已调用此回调后,所有可能的互操作和 DLL 边界跨越已成功完成。 此回调对每个部署调用一次。
  2. OnDeployChangeEvaluation:当部署系统评估需要将哪些文件部署到主机或从主机中删除哪些文件时调用此回调。 您可以使用此回调更新进度指示器。
  3. OnDeployMetrics:在评估过程结束时会调用一次此回调,用于报告要将多少文件部署到主机以及要传输的总字节数。
  4. OnDeployFileProgress:每次为每个文件成功传输缓冲区块时调用此回调。 同时在多个线程上执行传输,所以您的代码必须确保它正按照文件名来跟踪进度,并且可防止通常的多线程问题。 在传输开始和传输结束时各调用一次此回调,所以长度为零的文件会导致两次调用此回调。
  5. OnDeployExtraFileDetected:指示在主机上找到电脑上不存在的文件。
  6. OnDeployExtraFileRemoved:如果 Deploy 的 fRemoveExtraFiles 参数设置为 TRUE,则从主机中删除某个文件时将调用此回调。
  7. OnDeployError 未由当前实现使用,但保留供以后使用。

如果您想要指示总体部署进度,您的代码应该将 OnDeployFileProgress 回调中目前指定的不同文件数报告为向 OnDeployMetrics 回调报告的文件总数的百分比。

要求

头文件:xtfapplication.h

库:xtfapplication.lib

支持平台:Windows(适用于 Xbox 主机工具)

另请参阅

参考

XtfApplication