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

# XGameUI

> XGameUI

# XGameUI

XboxGameUI API 允许游戏在 XBOX One 主机上调出预定义的用户界面显示。这些预定义 UI 包括用户选择器、个人资料卡、游戏邀请等多种界面。

## 函数

| 函数                                                                                                                                           | 说明                                                                                                                    |
| -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| [XGameUiSetNotificationPositionHint](/reference/system/xgameui/functions/xgameuisetnotificationpositionhint)                                 | 设置当前游戏上显示的 Toast 通知的首选位置。                                                                                             |
| [XGameUiShowAchievementsAsync](/reference/system/xgameui/functions/xgameuishowachievementsasync)                                             | 显示 UI，向请求玩家展示指定游戏的成就。                                                                                                 |
| [XGameUiShowAchievementsResult](/reference/system/xgameui/functions/xgameuishowachievementsresult)                                           | 获取对 [XGameUiShowAchievementsAsync](/reference/system/xgameui/functions/xgameuishowachievementsasync) 调用的结果。           |
| [XGameUiShowErrorDialogAsync](/reference/system/xgameui/functions/xgameuishowerrordialogasync)                                               | 显示错误对话框的 UI，其中包含针对指定错误代码的服务定义错误字符串。                                                                                   |
| [XGameUiShowErrorDialogResult](/reference/system/xgameui/functions/xgameuishowerrordialogresult)                                             | 获取对 [XGameUiShowErrorDialogAsync](/reference/system/xgameui/functions/xgameuishowerrordialogasync) 调用的结果。             |
| [XGameUiShowMessageDialogAsync](/reference/system/xgameui/functions/xgameuishowmessagedialogasync)                                           | 显示可自定义消息对话框的 UI。                                                                                                      |
| [XGameUiShowMessageDialogResult](/reference/system/xgameui/functions/xgameuishowmessagedialogresult)                                         | 获取对 [XGameUiShowMessageDialogAsync](/reference/system/xgameui/functions/xgameuishowmessagedialogasync) 调用的结果。         |
| [XGameUiShowMultiplayerActivityGameInviteAsync](/reference/system/xgameui/functions/xgameuishowmultiplayeractivitygameinviteasync)           | 待定                                                                                                                    |
| [XGameUiShowMultiplayerActivityGameInviteResult](/reference/system/xgameui/functions/xgameuishowmultiplayeractivitygameinviteresult)         | 待定                                                                                                                    |
| [XGameUiShowPlayerPickerAsync](/reference/system/xgameui/functions/xgameuishowplayerpickerasync)                                             | 显示一个选择器 UI，允许游戏玩家从显示的人员列表中选择玩家。                                                                                       |
| [XGameUiShowPlayerPickerResult](/reference/system/xgameui/functions/xgameuishowplayerpickerresult)                                           | 获取 [XGameUiShowPlayerPickerAsync](/reference/system/xgameui/functions/xgameuishowplayerpickerasync) 调用的结果。            |
| [XGameUiShowPlayerPickerResultCount](/reference/system/xgameui/functions/xgameuishowplayerpickerresultcount)                                 | 获取 [XGameUiShowPlayerPickerAsync](/reference/system/xgameui/functions/xgameuishowplayerpickerasync) 调用的结果计数。          |
| [XGameUiShowPlayerProfileCardAsync](/reference/system/xgameui/functions/xgameuishowplayerprofilecardasync)                                   | 显示指定玩家的个人资料卡 UI。                                                                                                      |
| [XGameUiShowPlayerProfileCardResult](/reference/system/xgameui/functions/xgameuishowplayerprofilecardresult)                                 | 获取对 [XGameUiShowPlayerProfileCardAsync](/reference/system/xgameui/functions/xgameuishowplayerprofilecardasync) 调用的结果。 |
| [XGameUiShowSendGameInviteAsync](/reference/system/xgameui/functions/xgameuishowsendgameinviteasync)                                         | 显示一个从所选玩家的好友列表和推荐好友列表中填充的选择器 UI。                                                                                      |
| [XGameUiShowSendGameInviteResult](/reference/system/xgameui/functions/xgameuishowsendgameinviteresult)                                       | 获取对 [XGameUIShowSendGameInviteAsync](/reference/system/xgameui/functions/xgameuishowsendgameinviteasync) 调用的结果。       |
| [XGameUiShowStateShareAsync](/reference/system/xgameui/functions/xgameuishowstateshareasync)                                                 | 显示用于与其他玩家共享状态的 UI                                                                                                     |
| [XGameUiShowStateShareResult](/reference/system/xgameui/functions/xgameuishowstateshareresult)                                               | 获取对 [XGameUIShowStateShareAsync](/reference/system/xgameui/functions/xgameuishowstateshareasync) 调用的结果                |
| [XGameUiShowTextEntryAsync](/reference/system/xgameui/functions/xgameuishowtextentryasync)                                                   | 显示一个文本输入 UI，供用户输入信息。                                                                                                  |
| [XGameUiShowTextEntryResult](/reference/system/xgameui/functions/xgameuishowtextentryresult)                                                 | 获取 [XGameUiShowTextEntryAsync](/reference/system/xgameui/functions/xgameuishowtextentryasync) 调用的结果。                  |
| [XGameUiShowTextEntryResultSize](/reference/system/xgameui/functions/xgameuishowtextentryresultsize)                                         | 获取 [XGameUiShowTextEntryAsync](/reference/system/xgameui/functions/xgameuishowtextentryasync) 调用返回缓冲区的大小。             |
| [XGameUiShowWebAuthenticationAsync](/reference/system/xgameui/functions/xgameuishowwebauthenticationasync)                                   | 显示一个 Web UI，允许用户委托访问外部网站和服务，而无需直接向正在运行的游戏提供其凭据。                                                                       |
| [XGameUiShowWebAuthenticationResult](/reference/system/xgameui/functions/xgameuishowwebauthenticationresult)                                 | 获取 [XGameUiShowWebAuthenticationAsync](/reference/system/xgameui/functions/xgameuishowwebauthenticationasync) 调用的结果。  |
| [XGameUiShowWebAuthenticationResultSize](/reference/system/xgameui/functions/xgameuishowwebauthenticationresultsize)                         | 获取包含身份验证请求结果所需的缓冲区大小。                                                                                                 |
| [XGameUiShowWebAuthenticationWithOptionsAsync](/reference/system/xgameui/functions/xgameuishowwebauthenticationwithoptionsasync)             | 显示一个 Web UI（可选择全屏显示），允许用户委托访问外部网站和服务，而无需直接向正在运行的游戏提供其凭据。                                                              |
| [XGameUiTextEntryClose](/reference/system/xgameui/functions/xgameuitextentryclose)                                                           | 关闭虚拟键盘并释放相应的资源。                                                                                                       |
| [XGameUiTextEntryGetExtents](/reference/system/xgameui/functions/xgameuitextentrygetextents)                                                 | 获取虚拟键盘的屏幕范围。                                                                                                          |
| [XGameUiTextEntryGetState](/reference/system/xgameui/functions/xgameuitextentrygetstate)                                                     | 获取已打开虚拟键盘的当前状态。                                                                                                       |
| [XGameUiTextEntryOpen](/reference/system/xgameui/functions/xgameuitextentryopen)                                                             | 打开一个虚拟键盘，由游戏负责渲染文本。                                                                                                   |
| [XGameUiTextEntryUpdatePositionHint](/reference/system/xgameui/functions/xgameuitextentryupdatepositionhint)                                 | 更新虚拟键盘的首选定位。                                                                                                          |
| [XGameUiTextEntryUpdateVisibility](/reference/system/xgameui/functions/xgameuitextentryupdatevisibility)                                     | 更新是显示完整虚拟键盘，还是仅显示候选列表。                                                                                                |
| [XGameUISetUICallbacks](/reference/system/xgameui/functions/xgameuisetuicallbacks)                                                           | 设置开发者定义的 UI 回调。                                                                                                       |
| [XGameUISetMessageDialogUIResponse](/reference/system/xgameui/functions/xgameuisetmessagedialoguiresponse)                                   | 设置由 XGameUiShowMessageDialogResult 返回的结果 XGameUiMessageDialogButton 值。                                                |
| [XGameUISetPlayerPickerUIResponse](/reference/system/xgameui/functions/xgameuisetplayerpickeruiresponse)                                     | 设置由 XGameUiShowPlayerPickerResultCount 和 XGameUiShowPlayerPickerResult 返回的结果。                                         |
| [XGameUISetTextEntryUIResponse](/reference/system/xgameui/functions/xgameuisettextentryuiresponse)                                           | 设置由 XGameUiShowTextEntryAsync 返回的结果文本长度和文本。                                                                           |
| [XGameUISetPlayerProfileCardUIResponse](/reference/system/xgameui/functions/xgameuisetplayerprofilecarduiresponse)                           | 完成对 XGameUiShowPlayerProfileCardAsync 的调用。                                                                            |
| [XGameUISetSendGameInviteUIResponse](/reference/system/xgameui/functions/xgameuisetsendgameinviteuiresponse)                                 | 完成对 XGameUiShowSendGameInviteAsync 的调用。                                                                               |
| [XGameUISetAchievementsUIResponse](/reference/system/xgameui/functions/xgameuisetachievementsuiresponse)                                     | 完成对 XGameUiShowAchievementsAsync 的调用。                                                                                 |
| [XGameUISetMultiplayerActivityGameInviteUIResponse](/reference/system/xgameui/functions/xgameuisetmultiplayeractivitygameinviteuiresponse)   | 完成对 XGameUiShowMultiplayerActivityGameInviteAsync 的调用。                                                                |
| [XGameUISetErrorDialogUIResponse](/reference/system/xgameui/functions/xgameuiseterrordialoguiresponse)                                       | 完成对 XGameUiShowErrorDialogAsync 的调用。                                                                                  |
| [XGameUIShowPlayerProfileCardUICallback](/reference/system/xgameui/functions/xgameuishowplayerprofilecarduicallback)                         | XGameUiShowPlayerProfileCardAsync 回调的签名。                                                                              |
| [XGameUIShowPlayerPickerUICallback](/reference/system/xgameui/functions/xgameuishowplayerpickeruicallback)                                   | XGameUiShowPlayerPickerAsync 回调的签名。                                                                                   |
| [XGameUIShowSendGameInviteUICallback](/reference/system/xgameui/functions/xgameuishowsendgameinviteuicallback)                               | XGameUiShowSendGameInviteAsync 回调的签名。                                                                                 |
| [XGameUIShowAchievementsUICallback](/reference/system/xgameui/functions/xgameuishowachievementsuicallback)                                   | XGameUiShowAchievementsAsync 回调的签名。                                                                                   |
| [XGameUIShowMultiplayerActivityGameInviteUICallback](/reference/system/xgameui/functions/xgameuishowmultiplayeractivitygameinviteuicallback) | XGameUiShowMultiplayerActivityGameInviteAsync 回调的签名。                                                                  |
| [XGameUIShowMessageDialogUICallback](/reference/system/xgameui/functions/xgameuishowmessagedialoguicallback)                                 | XGameUiShowMessageDialogAsync 回调的签名。                                                                                  |
| [XGameUIShowErrorDialogUICallback](/reference/system/xgameui/functions/xgameuishowerrordialoguicallback)                                     | XGameUiShowErrorDialogAsync 回调的签名。                                                                                    |
| [XGameUIShowTextEntryUICallback](/reference/system/xgameui/functions/xgameuishowtextentryuicallback)                                         | XGameUiShowTextEntryAsync 回调的签名。                                                                                      |

## 结构

| 结构                                                                                                         | 说明                                          |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| [XGameUiWebAuthenticationResultData](/reference/system/xgameui/structs/xgameuiwebauthenticationresultdata) | 包含 Web 身份验证请求的响应。                           |
| [XGameUiTextEntryExtents](/reference/system/xgameui/structs/xgameuitextentryextents)                       | 描述虚拟键盘的相对定位。                                |
| [XGameUiTextEntryOptions](/reference/system/xgameui/structs/xgameuitextentryoptions)                       | XGameUiTextEntryOpen 所使用的虚拟键盘的初始选项集。        |
| [XGameUICallbackHandle](/reference/system/xgameui/structs/xgameuicallbackhandle)                           | 与 XGameUi 回调调用关联的句柄。用于调用 Set\*Response API。 |
| [XGameUIPlayerPickerInfo](/reference/system/xgameui/structs/xgameuiplayerpickerinfo)                       | 用于封装开发者自定义玩家选择器 UI 所需用户信息的结构。               |
| [XGameUIUICallbacks](/reference/system/xgameui/structs/xgameuiuicallbacks)                                 | 包含指向开发者定义的 UI 回调的指针的结构。                     |

## 枚举

| 枚举                                                                                                 | 说明                                          |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| [XGameUiMessageDialogButton](/reference/system/xgameui/enums/xgameuimessagedialogbutton)           | 枚举可自定义消息对话框中的按钮。                            |
| [XGameUiNotificationPositionHint](/reference/system/xgameui/enums/xgameuinotificationpositionhint) | 描述当前游戏上显示的 Toast 通知的首选位置。                   |
| [XGameUiTextEntryChangeTypeFlags](/reference/system/xgameui/enums/xgameuitextentrychangetypeflags) | 指示自上次调用 XGameUiTextEntryGetState 以来发生变化的标志。 |
| [XGameUiTextEntryInputScope](/reference/system/xgameui/enums/xgameuitextentryinputscope)           | 枚举文本输入中期望的信息类型。                             |
| [XGameUiTextEntryPositionHint](/reference/system/xgameui/enums/xgameuitextentrypositionhint)       | 关于虚拟键盘最佳位置的提示。                              |
| [XGameUiTextEntryVisibilityFlags](/reference/system/xgameui/enums/xgameuitextentryvisibilityflags) | 指示虚拟键盘可见性状态的标志。                             |
| [XGameUiWebAuthenticationOptions](/reference/system/xgameui/enums/xgameuiwebauthenticationoptions) | 枚举呈现 Web 身份验证流程的选项。                         |

## 错误代码

XGameUI API 可能返回以下错误代码。有关完整列表，请参阅[错误代码](/reference/errorcodes)。

| 代码                               | 值 | 说明                                                                                                                      |
| -------------------------------- | - | ----------------------------------------------------------------------------------------------------------------------- |
| E\_GAMEUI\_TEXTENTRY\_NOT\_SHOWN | — | XGameUiTextEntryHandle 无效，很可能是因为需要先调用 [XGameUiTextEntryOpen](/reference/system/xgameui/functions/xgameuitextentryopen)。 |

## 概念文档

* [异步编程的设计目标与改进](/build/core-features/common/async/async-whitepaper)
* [时间敏感线程](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [什么是 Microsoft Game Development Kit？](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/intro/introduction)
* [在 Unity 项目中使用适用于 GDK API 的 C# 包装器](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/pc-dev/tutorials/get-started-with-unity-pc/features/gdk-unity-api-wrappers)

## 请参阅

[系统 API 参考](/reference/system/gc-reference-system-toc)


## Related topics

- [XGameUiShowSendGameInviteResult](/zh-CN/reference/system/xgameui/functions/xgameuishowsendgameinviteresult.md)
- [XGameUiShowSendGameInviteAsync](/zh-CN/reference/system/xgameui/functions/xgameuishowsendgameinviteasync.md)
- [XGameUiSetSendGameInviteUiResponse](/zh-CN/reference/system/xgameui/functions/xgameuisetsendgameinviteuiresponse.md)
- [XGameUiUiCallbacks](/zh-CN/reference/system/xgameui/structs/xgameuiuicallbacks.md)
- [XGameUiShowSendGameInviteUiCallback](/zh-CN/reference/system/xgameui/functions/xgameuishowsendgameinviteuicallback.md)
