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

# XInputGetKeystroke

> XInputGetKeystroke

# XInputGetKeystroke

擷取控制器輸入事件。

## 語法

```cpp theme={null}
DWORD XInputGetKeystroke(  
         DWORD dwUserIndex,  
         _Reserved_ dwReserved,  
         XINPUT_KEYSTROKE* pKeystroke  
)  
```

### 參數

*dwUserIndex*   \_In\_\
類型：DWORD

與裝置相關聯之已登入玩家的索引。值的範圍為 0-XUSER\_MAX\_COUNT 到 1；XUSER\_INDEX\_ANY 用於從任何使用者擷取下一個可用的輸入事件。

*dwReserved*   \
類型：*Reserved*

未使用此參數。

*pKeystroke*   \_Out\_\
類型：[XINPUT\_KEYSTROKE\*](/zh-TW/reference/input/xinputongameinput/structs/xinput_keystroke)

指向接收輸入事件之 [XINPUT\_KEYSTROKE](/zh-TW/reference/input/xinputongameinput/structs/xinput_keystroke) 結構的指標。

### 傳回值

類型：DWORD

* 如果函式成功，會傳回 **ERROR\_SUCCESS**。
* 如果未按下任何新按鍵，函式會傳回 **ERROR\_EMPTY**。
* 如果控制器未連接或使用者尚未啟用控制器，函式會傳回 **ERROR\_DEVICE\_NOT\_CONNECTED**；請參閱下方的「備註」一節。
* 如果函式失敗，會傳回 Winerror.h 中定義的錯誤碼。

## 備註

系統啟動時，無線控制器不會被視為作用中；如果在無線控制器變成作用中之前呼叫任何 XInput 函式，該呼叫會傳回 **ERROR\_DEVICE\_NOT\_CONNECTED**。遊戲必須檢查傳回碼，並且必須準備好處理此狀況。有線控制器在插入時會自動啟用。無線控制器會在使用者按下 START 或 Guide 按鈕開啟控制器時啟用。

如果您要從 XInput 移植到 GameInput 的程式碼未呼叫 GetKeyStroke 函式，則可以定義 XINPUT\_ON\_GAMEINPUT\_NO\_XINPUTGETKEYSTROKE 來縮減 XInput 包裝函式的大小。如需詳細資訊，請參閱[從 XInput 移植到 GameInput](/zh-TW/build/core-features/common/input/porting/input-porting-xinput#optimizingSection)。

## 需求

**標頭：** XInputOnGameInput.h

**程式庫：** xgameruntime.lib

**支援的平台：** XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[將 XInput 移植到 GameInput](/zh-TW/build/core-features/common/input/porting/input-porting-xinput)\
[XInputOnGameInput](/zh-TW/reference/input/xinputongameinput/xinputongameinput_members)


## Related topics

- [XInputGetKeystroke](/reference/input/xinputongameinput/functions/xinputgetkeystroke.md)
- [XINPUT_KEYSTROKE](/reference/input/xinputongameinput/structs/xinput_keystroke.md)
