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

# DeployEx

> IXtfApplicationClient::DeployEx

# IXtfApplicationClient::DeployEx

部署指定的应用包。

## 语法

```cpp theme={null}
public:
HRESULT DeployEx(
         LPCWSTR pszDeployFilepath,
         int deployTarget,
         BOOL fRemoveExtraFiles,
         IXtfDeployCallback *pCallback,
         BOOL *pfCanceled,
         int *pdwResult,
         LPBSTR pbstrPackageFullName,
         LPBSTR pbstrAumidJson
)  
```

### 参数

*pszDeployFilepath*\
类型：LPCWSTR

要部署的内容的\_源路径\_。

*deployTarget*\
类型：int

指示要部署到的驱动器。允许的值及其含义如下：

* -1 表示由 'xbconfig defaultstoragedevice' 指定的默认部署设备。
* 0 表示使用零售驱动器
* 1 表示在具有开发驱动器的主机上使用开发驱动器
* 2 表示外部驱动器 1、3 表示外部驱动器 2，依此类推

*fRemoveExtraFiles*\
类型：BOOL

指定 TRUE 以移除开发主机上已存在但不属于部署包的文件；否则指定 FALSE 以保留它们。

*pCallback*\
类型：IXtfDeployCallback\*

指向在部署期间发生可跟踪操作时要调用的 [IXtfDeployCallback](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfDeployCallback/ixtfdeploycallback-xtfapplication-xbox-microsoft-t.md) 回调的指针。如果不希望在部署期间接收回调，请设置为 `nullptr`。

*pfCanceled*\
类型：BOOL\*

接收指示部署是否已取消的布尔值的指针。

*pdwResult*\
类型：int\*

接收部署操作的 HRESULT 的指针。例如，如果打开的文件句柄阻止文件被删除，则此参数将接收 HRESULT 错误代码。

*pbstrPackageFullName*\
类型：LPBSTR

接收已部署应用包的完整名称（包括版本号、体系结构和区域性）的指针。

*pbstrAumidJson*\
类型：LPBSTR

接收与应用包关联的 AUMID 列表的 JSON 表示形式的指针。列表中的所有 AUMID 共享相同的 `PackageFamilyName`，但每个 AUMID 中感叹号（"!"）之后的 AppId 不同。

### 返回值

类型：HRESULT

如果成功则返回 `S_OK`；否则返回 HRESULT 错误代码。

## 备注

此方法将你的标题推送部署到 XBOX 开发工具包上以进行测试。你的标题被部署到 title scratch 驱动器上 `pszDeployFilepath` 中指定的文件夹。方法成功完成部署后，你的标题即可启动。有关部署应用包的详细信息，请参阅[将你的标题部署到 XBOX 开发工具包 (NDA 主题)](https://docs.xbox.com/zh-CN/home/setup-install/concepts/deployment.md)。

> [!NOTE]
>
> 此函数以同步方式运行。

此方法类似于 XBOX Tools Framework (XTF) 中包含的应用程序管理 (xbapp.exe) 工具的 `xbapp deploy` 命令。有关 `xbapp deploy` 命令的详细信息，请参阅[应用程序管理 (xbapp.exe) (NDA 主题)](https://docs.xbox.com/zh-CN/tools/tools-console/commandlinetools/xbapp.md)。

### 处理 LPBSTR 指针

有关处理此函数返回的 LPBSTR 指针的详细信息，请参阅[为 BSTR 分配和释放内存](https://learn.microsoft.com/cpp/atl-mfc-shared/allocating-and-releasing-memory-for-a-bstr?view=vs-2019)。

## 要求

**头文件：** xtfapplication.h

**库：** xtfapplication.lib

**支持的平台：** Windows（用于 XBOX 主机工具）

## 另请参阅

[IXtfApplicationClient](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/ixtfapplicationclient-xtfapplication-xbox-microsoft-t.md)\
[XtfApplication](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapplication/xtfapplication-xbox-microsoft-n.md)


## Related topics

- [IXtfApplicationClient 接口（接口内容）](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/ixtfapplicationclient-xtfapplication-xbox-microsoft-t.md)
- [Deploy](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/deploy-ixtfapplicationclient-xtfapplication-xbox-microsoft-m.md)
- [XINPUT_VIBRATION_EX](https://docs.xbox.com/zh-CN/reference/input/xinputongameinput/structs/xinput_vibration_ex.md)
- [GAMEPAD_REPORT_EX](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfinput/structures/gamepad_report_ex.md)
- [ListUsersEx](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfuser/classes/IXtfUserClient/methods/ixtfuserclient_listusersex.md)
