XtfGetTitleOSState

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

语法

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 已为此游戏启用快速迭代模式。 有关快速迭代模式的详细信息,请参阅应用程序管理 (xbapp.exe)(NDA 主题)要求授权管理应用程序和文件(NDA 主题)要求授权
XTF_TITLESTATE_TITLE_RUNNING 0x0002 游戏当前正在运行。
XTF_TITLESTATE_TITLEOS_RUNNING 0x0004 游戏的游戏 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 错误代码。 如果 HRESULT_FROM_WIN32(ERROR_MORE_DATA)packageFullName 缓冲区太小,则返回 aumid

备注

此函数返回当前正在运行的游戏的状态,包括游戏状态标志、进程 ID、包完整名称和应用程序用户模型 ID (AUMID)。 有关打包的详细信息,请参阅打包

若要为 packageFullNameaumid 缓冲区检索所需的缓冲区长度,请执行以下步骤:

  1. packageFullNameaumid 参数设置为 nullptr
  2. packageFullNameLengthaumidLength 参数设置为有效的 UINT32 指针
  3. 请致电 XtfGetTitleOSState

如果函数成功运行,packageFullNameLengthaumidLength 参数则分别包含 packageFullNameaumidLength 所需的缓冲区长度(类型为 WCHAR)。

要求

头文件:xtfapi.h

库:XtfApi.lib

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

另请参阅

XtfGetAumid
XtfGetPackageFullName
XTF 传输错误(NDA 主题)要求授权
其他 Xtf API