> ## 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.

# XtfGetTitleOSState

> XtfGetTitleOSState

# XtfGetTitleOSState

获取有关正在运行的游戏的信息，包括其状态、进程 ID、包完整名称和应用程序用户模型 ID (AUMID)。

## 语法

```cpp theme={null}
HRESULT XtfGetTitleOSState(
        PCWSTR address,
        UINT32* titleStateFlags,
        UINT32* pid,
        PWSTR packageFullName,
        UINT32* packageFullNameLength,
        PWSTR aumid,
        UINT32* aumidLength)
```

### 参数

*address*\
类型：PCWSTR

\[in] 主机的地址。

*titleStateFlags*\
类型：UINT32\*

\[out, optional] 一个按位或组合的标志，提供有关游戏的附加信息。如果不需要此值，请将其设置为 `nullptr`。此参数支持以下标志：

| 标志 | 值 | 说明 |
| - | - | - |
| XTF\_TITLESTATE\_FASTITERATION\_ENABLED | 0x0001 | 已为此游戏启用 Fast Iteration Mode。有关 Fast Iteration Mode 的更多信息，请参阅 [应用程序管理 (xbapp.exe) (NDA 主题)](https://docs.xbox.com/zh-CN/tools/tools-console/commandlinetools/xbapp.md) 和 [管理应用程序和文件 (NDA 主题)](https://docs.xbox.com/zh-CN/tools/tools-console/xbom/manager-tool-managing-applications.md)。 |
| XTF\_TITLESTATE\_TITLE\_RUNNING | 0x0002 | 游戏当前正在运行。 |
| XTF\_TITLESTATE\_TITLEOS\_RUNNING | 0x0004 | 该游戏的 Game OS 当前正在运行。 |
| XTF\_TITLESTATE\_TITLENETWORK\_READY | 0x0008 | 该游戏的网络已就绪。 |

*pid*\
类型：UINT32\*

\[out, optional] 如果游戏当前正在运行，则为游戏的进程 ID；否则为零。如果不需要此值，请将其设置为 `nullptr`。

*packageFullName*\
类型：PWSTR

\[out, optional] 如果游戏当前正在运行，则为游戏的包完整名称；否则为空字符串 ("")。如果不需要此值或者需要获取缓冲区长度，请将其设置为 `nullptr`。

*packageFullNameLength*\
类型：UINT32\*

\[out, optional] *packageFullName* 所需缓冲区的长度（以 WCHAR 为单位）。如果不需要此值，请将其设置为 `nullptr`。

*aumid*\
类型：PWSTR

\[out, optional] 如果游戏当前正在运行，则为游戏的 AUMID；否则为空字符串 ("")。如果不需要此值，请将其设置为 `nullptr`。

*aumidLength*\
类型：UINT32\*

\[out, optional] *aumid* 所需缓冲区的长度（以 WCHAR 为单位）。如果不需要此值，请将其设置为 `nullptr`。

### 返回值

类型：HRESULT

成功时返回 `S_OK`；否则返回一个 HRESULT 错误代码。如果 `packageFullName` 或 `aumid` 缓冲区太小，则返回 `HRESULT_FROM_WIN32(ERROR_MORE_DATA)`。

## 备注

此函数返回有关当前正在运行的游戏状态的信息，包括标题状态标志、进程 ID、包完整名称和应用程序用户模型 ID (AUMID)。有关打包的更多信息，请参阅 [打包](https://docs.xbox.com/zh-CN/build/core-features/common/packaging/gc-packaging-toc.md)。

若要检索 `packageFullName` 和 `aumid` 缓冲区所需的长度，请执行以下步骤：

1. 将 `packageFullName` 和 `aumid` 参数设置为 `nullptr`
2. 将 `packageFullNameLength` 和 `aumidLength` 参数设置为有效的 UINT32 指针
3. 调用 `XtfGetTitleOSState`

如果函数运行成功，则 `packageFullNameLength` 和 `aumidLength` 参数将分别包含 `packageFullName` 和 `aumidLength` 所需缓冲区的长度（以 WCHAR 为单位）。

## 要求

**头文件：** xtfapi.h

**库：** XtfApi.lib

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

## 另请参阅

[XtfGetAumid](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgetaumid-xtfapi-xbox-windows-m.md)\
[XtfGetPackageFullName](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgetpackagefullname-xtfapi-xbox-windows-m.md)\
[XTF 传输错误 (NDA 主题)](https://docs.xbox.com/zh-CN/tools/tools-console/commandlinetools/xtf-transport-errors.md)\
[其他 Xtf API](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/atoc-xtfapi.md)


## Related topics

- [其他 Xtf API（API 内容）](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/atoc-xtfapi.md)
- [XtfGetCachedTitleOSVersions](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgetcachedtitleosversions-xtfapi-xbox-windows-m.md)
- [XtfGetTitleOSFourPartVersion](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgettitleosfourpartversion-xtfapi-xbox-windows-m.md)
- [XtfGetTitleProcessMemoryReports](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgettitleprocessmemoryreports-xtfapi-xbox-windows-m.md)
- [XtfGetCachedTitleOSVersionsCallback](https://docs.xbox.com/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgetcachedtitleosversionscallback-xtfapi-xbox-windows-m.md)
