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

# XGameUiTextEntryGetState

> XGameUiTextEntryGetState

# XGameUiTextEntryGetState

获取已打开虚拟键盘的当前状态。

## 语法

```cpp theme={null}
HRESULT XGameUiTextEntryGetState(  
         XGameUiTextEntryHandle handle,
         XGameUiTextEntryChangeTypeFlags* changeType,
         uint32_t* cursorIndex,
         uint32_t* imeClauseStartIndex,
         uint32_t* imeClauseEndIndex,
         uint32_t bufferSize,
         char* buffer
)  
```

### 参数

*handle*   \_In\_\
类型：XGameUiTextEntryHandle

已打开的虚拟键盘的句柄。

*changeType*   \_Out\_\
类型：[XGameUiTextEntryChangeTypeFlags\*](/reference/system/xgameui/enums/xgameuitextentrychangetypeflags)

描述自游戏上次调用 *XGameUiTextEntryGetState* 以来文本是否发生变化或虚拟键盘是否已被关闭。如果 change type 表示虚拟键盘已被关闭，则在处理完文本变化后，游戏必须调用 [XGameUiTextEntryClose](/reference/system/xgameui/functions/xgameuitextentryclose)。

*cursorIndex*   \_Out\_opt\_\
类型：uint32\_t\*

光标相对于起始字符的字节索引。

*imeClauseStartIndex*   \_Out\_opt\_\
类型：uint32\_t\*

可能被 IME 候选项替换的 IME 子句的起始字节索引。此索引将位于光标索引之前。如果未使用 IME，则该值为零。

*imeClauseEndIndex*   \_Out\_opt\_\
类型：uint32\_t\*

可能被 IME 候选项替换的 IME 子句的结束字节索引。此索引将位于光标索引之后。如果未使用 IME，则该值为零。

*bufferSize*   \_In\_\
类型：uint32\_t

游戏提供的用于接收虚拟键盘文本的缓冲区大小（以字节为单位）。

*buffer*   \_Out\_\
类型：char\*

以以 null 结尾的字符串形式输入到虚拟键盘的完整文本。换行符将表示为 '\n'。

### 返回值

类型：HRESULT

HRESULT 成功或错误代码。有关错误代码列表，请参阅[错误代码](/reference/errorcodes)。

| 返回代码                             | 说明                                                         |
| -------------------------------- | ---------------------------------------------------------- |
| S\_OK                            | 操作成功。                                                      |
| E\_GAMEUI\_TEXTENTRY\_NOT\_SHOWN | XGameUiTextEntryHandle 无效，很可能是因为需要调用 XGameUiTextEntryOpen。 |

## 备注

每帧至少需要调用此函数一次，以获取最新的虚拟键盘更改。如果键盘随后被关闭，此函数将成功返回；然而，change type 将包含 KeyboardDismissed。

## 要求

**标头：** XGameUI.h

**库：** xgameruntime.lib

**支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## 请参阅

[XGameUI](/reference/system/xgameui/xgameui_members)\
[XGameUiTextEntryOpen](/reference/system/xgameui/functions/xgameuitextentryopen)
[XGameUiTextEntryClose](/reference/system/xgameui/functions/xgameuitextentryclose)


## Related topics

- [XGameUiTextEntryChangeTypeFlags](/zh-CN/reference/system/xgameui/enums/xgameuitextentrychangetypeflags.md)
- [XGameUI](/zh-CN/reference/system/xgameui/xgameui_members.md)
- [XGameUiTextEntryGetExtents](/zh-CN/reference/system/xgameui/functions/xgameuitextentrygetextents.md)
- [XGameUiTextEntryExtents](/zh-CN/reference/system/xgameui/structs/xgameuitextentryextents.md)
- [XGameUiSetTextEntryUiResponse](/zh-CN/reference/system/xgameui/functions/xgameuisettextentryuiresponse.md)
