> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IXtfDeployCallback 介面

> IXtfDeployCallback 介面

# IXtfDeployCallback 介面

提供在 [IXtfApplicationClient::Deploy](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/deploy-ixtfapplicationclient-xtfapplication-xbox-microsoft-m) 作業期間發生可追蹤動作時所呼叫的回呼。

<a id="syntaxSection" />

## 語法

```cpp theme={null}
interface IXtfDeployCallback : public IUnknown  
```

## 方法

| 方法 | 描述 |
| - | - |
| [OnDeployChangeEvaluation](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploychangeevaluation-ixtfdeploycallback-xtfapplication-xb) | 在評估哪些檔案需要傳輸或刪除時叫用的回呼。 |
| [OnDeployError](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployerror-ixtfdeploycallback-xtfapplication-xbox-windows) | 保留供內部使用。 |
| [OnDeployExtraFileDetected](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployextrafiledetected-ixtfdeploycallback-xtfapplication-x) | 偵測到額外檔案時叫用的回呼。 |
| [OnDeployExtraFileRemoved](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployextrafileremoved-ixtfdeploycallback-xtfapplication-xb) | 叫用以回報主機上的額外檔案已移除的回呼。 |
| [OnDeployFileProgress](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployfileprogress-ixtfdeploycallback-xtfapplication-xbox-w) | 叫用以回報將檔案部署至主機之進度的回呼 |
| [OnDeployInitialized](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployinitialized-ixtfdeploycallback-xtfapplication-xbox-wi) | 部署開始時叫用的回呼。 |
| [OnDeployMetrics](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploymetrics-ixtfdeploycallback-xtfapplication-xbox-window) | 回報部署計量時叫用的回呼。 |

<a id="requirements" />

## 備註

所有回呼方法在傳回值方面的運作方式都相同。如果回呼傳回成功的 HResult，部署程序就會繼續。如果回呼傳回任何失敗的 HResult，部署程序就會立即取消。已傳輸或已刪除的檔案會維持原狀，而部分傳輸的檔案則會以截斷的形式關閉。

回呼程序很簡單。執行部署之開發電腦上的每個檔案，都會與目標主機上對應的檔案進行比較。

* 如果電腦與主機上的檔案相同，則不會執行任何其他動作。
* 如果電腦上的檔案比主機上的檔案新，則會將檔案從電腦複製到主機。
* 如果檔案存在於電腦上但不在主機上，則會將其複製到主機。
* 如果檔案存在於主機上但不在電腦上，則可選擇從主機刪除。(是否刪除取決於 [Deploy](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/deploy-ixtfapplicationclient-xtfapplication-xbox-microsoft-m) 之 fRemoveExtraFiles 參數的值)。

回呼方法會在部署程序期間的適當時間叫用。

1. [OnDeployInitialized](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployinitialized-ixtfdeploycallback-xtfapplication-xbox-wi)：此回呼會在部署系統啟動時叫用，可用來開始計時部署或初始化進度對話方塊。叫用此回呼時，所有可能的 Interop 與 DLL 界限跨越都已成功完成。每次部署會叫用此回呼一次。
2. [OnDeployChangeEvaluation](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploychangeevaluation-ixtfdeploycallback-xtfapplication-xb)：此回呼會在部署系統評估哪些檔案需要部署至主機或從主機刪除時叫用。您可以使用此回呼來更新進度指示器。
3. [OnDeployMetrics](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploymetrics-ixtfdeploycallback-xtfapplication-xbox-window)：此回呼會在評估程序結束時叫用一次，以回報將部署至主機的檔案數目以及要傳輸的位元組總數。
4. [OnDeployFileProgress](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployfileprogress-ixtfdeploycallback-xtfapplication-xbox-w)：每個檔案每成功傳輸一個緩衝區區塊，就會叫用此回呼一次。傳輸會在多個執行緒上同時執行，因此您的程式碼必須確保依檔案名稱追蹤進度，並防範一般的多執行緒問題。此回呼會在傳輸開始時呼叫一次，並在傳輸結束時呼叫一次，因此長度為零的檔案會導致此回呼被叫用兩次。
5. [OnDeployExtraFileDetected](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployextrafiledetected-ixtfdeploycallback-xtfapplication-x)：表示在主機上找到電腦上沒有的檔案。
6. [OnDeployExtraFileRemoved](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployextrafileremoved-ixtfdeploycallback-xtfapplication-xb)：如果 [Deploy](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/deploy-ixtfapplicationclient-xtfapplication-xbox-microsoft-m) 的 fRemoveExtraFiles 參數設定為 TRUE，則會在從主機刪除檔案時叫用此回呼。
7. [OnDeployError](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployerror-ixtfdeploycallback-xtfapplication-xbox-windows) 目前的實作並未使用，但保留供日後使用。

如果您想要顯示整體部署進度，您的程式碼應回報到目前為止 OnDeployFileProgress 回呼中所指名的不同檔案數目，佔回報給 OnDeployMetrics 回呼之檔案總數的百分比。

## 需求

**標頭：** xtfapplication.h

**程式庫：** xtfapplication.lib

**支援的平台：** Windows (適用於 XBOX 主機工具)

<a id="ID4EKD" />

## 另請參閱

<a id="ID4EMD" />

##### 參考

[XtfApplication](/zh-TW/reference/tools/xtf/xtfapplication/xtfapplication-xbox-microsoft-n)


## Related topics

- [IXtfDeployCallback::OnDeployError](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployerror-ixtfdeploycallback-xtfapplication-xbox-windows.md)
- [IXtfDeployCallback::OnDeployInitialized 方法](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployinitialized-ixtfdeploycallback-xtfapplication-xbox-wi.md)
- [IXtfDeployCallback::OnDeployFileProgress](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeployfileprogress-ixtfdeploycallback-xtfapplication-xbox-w.md)
- [IXtfDeployCallback::OnDeployMetrics 方法](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploymetrics-ixtfdeploycallback-xtfapplication-xbox-window.md)
- [IXtfDeployCallback::OnDeployChangeEvaluation](/zh-TW/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/methods/ondeploychangeevaluation-ixtfdeploycallback-xtfapplication-xb.md)
