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

# IGameInputReading::GetSystemButtonState

> 입력 판독에서 Guide 및 Share 버튼과 같은 시스템 버튼의 상태를 검색합니다.

입력 판독에서 Guide 및 Share 버튼과 같은 시스템 버튼의 상태를 검색합니다.

## 구문

```cpp theme={null}
bool GetSystemButtonState(
    GameInputSystemButtons* buttons
);
```

### 매개변수

*buttons*   \_Out\_\
형식: [GameInputSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputsystembuttons.md)\*

이 판독값에서 눌려 있는 시스템 버튼 집합을 받습니다.

### 반환값

형식: bool

판독값에 시스템 버튼 상태가 포함되어 있으면 `true`를 반환합니다. 포함되어 있지 않으면 `false`를 반환하며, 이 경우 *buttons*는 `GameInputSystemButtonNone`으로 설정됩니다.

## 설명

GameInput v4에서 시스템 버튼은 일반적인 입력 종류인 `GameInputKindSystemButton`입니다. 시스템 버튼이 있는 장치의 모든 판독값은 [IGameInputReading::GetInputKind](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind.md)에 `GameInputKindSystemButton`을 포함하며, `GetSystemButtonState`는 [IGameInputReading::GetGamepadState](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md)가 게임패드 버튼의 상태를 반환하는 것과 같은 방식으로 해당 버튼의 현재 상태를 반환합니다. 장치에 있는 시스템 버튼을 확인하려면 [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)를 호출하세요.

판독값은 누름 또는 놓음 이벤트가 아니라 어떤 버튼이 눌려 있는지를 보고합니다. 누름 또는 놓음을 감지하려면 상태를 이전 판독값의 상태와 비교하세요.

이 메서드는 이전 버전 GameInput의 [IGameInput::RegisterSystemButtonCallback](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md) 메서드를 대체합니다. 시스템 버튼 입력을 받으려면 `GameInputKindSystemButton`과 함께 [IGameInput::RegisterReadingCallback](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback.md)을 사용하거나 [IGameInput::GetCurrentReading](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading.md)으로 폴링하세요.

[IGameInput::EnableBackgroundInput](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md)으로 백그라운드 입력을 활성화하지 않는 한, 시스템 버튼 입력은 애플리케이션이 포커스를 갖고 있는 동안에만 전달됩니다.

다음 예제는 Guide 버튼의 새로운 누름을 감지하는 방법을 보여줍니다.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInput> gameInput;
GameInputSystemButtons previousButtons = GameInputSystemButtonNone;

void PollGuideButton() noexcept
{
    Microsoft::WRL::ComPtr<IGameInputReading> reading;
    if (SUCCEEDED(gameInput->GetCurrentReading(GameInputKindSystemButton, nullptr, &reading)))
    {
        GameInputSystemButtons buttons = GameInputSystemButtonNone;
        if (reading->GetSystemButtonState(&buttons))
        {
            const bool guidePressed = (buttons & GameInputSystemButtonGuide) != 0;
            const bool guidePreviouslyPressed = (previousButtons & GameInputSystemButtonGuide) != 0;
            if (guidePressed && !guidePreviouslyPressed)
            {
                // Handle new Guide button press
            }

            previousButtons = buttons;
        }
    }
}
```

## 요구 사항

**헤더:** GameInput.h

**라이브러리:** gameinput.lib

**지원되는 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 함께 보기

[GameInput 개요](https://docs.xbox.com/ko/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputReading](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputreading/igameinputreading.md)\
[GameInputSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputsystembuttons.md)\
[GameInputKind](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputkind.md)\
[IGameInput::EnableBackgroundInput](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinput/methods/igameinput_enablebackgroundinput.md)\
[IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)

## 버전 기록

| 버전 | 변경 사항 |
| - | - |
| **v4** | 도입됨. |


## Related topics

- [GameInputSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputsystembuttons.md)
- [IGameInputDevice::GetSupportedSystemButtons](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedsystembuttons.md)
- [RegisterSystemButtonCallback (사용되지 않음)](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md)
- [GameInput API 멤버](https://docs.xbox.com/ko/reference/input/gameinput/gameinput_members.md)
- [사용되지 않는 GameInput API 멤버](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/gameinput_deprecated_members.md)
