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

# GetExtraAxisIndexes

> GetExtraAxisIndexes

# GetExtraAxisIndexes

특정 입력 종류에 대해 장치의 추가 축의 컨트롤러 축 인덱스를 가져옵니다.

## 구문

```cpp theme={null}
HRESULT GetExtraAxisIndexes(
    GameInputKind inputKind,
    uint32_t extraAxisCount,
    uint8_t* extraAxisIndexes
);
```

### 매개변수

*inputKind*   \_In\_\
형식: GameInputKind

추가 축 인덱스를 요청하는 대상 입력 종류입니다.

*extraAxisCount*   \_In\_\
형식: uint32\_t

추가 축의 예상되는 축 인덱스 수입니다.
이 숫자는 [GetExtraAxisCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)를 호출하여 검색할 수 있습니다.

*extraAxisIndexes*   \_Out\_writes\_(extraAxisCount)\_\
형식: uint8\_t\*

축 인덱스 배열에 대한 포인터입니다.

### 반환값

형식: HRESULT

함수 결과.

## 설명

`GetExtraAxisIndexes` 메서드는 특정 입력 종류에 대해 장치에 있는 추가 축의 컨트롤러 축 인덱스를 검색합니다. 추가 축은 물리적 장치에 존재하지만 지정된 입력 종류에 대한 표준 매핑의 일부가 아닌 컨트롤러 축입니다.

이 메서드를 호출하기 전에 먼저 [GetExtraAxisCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)를 호출하여 사용 가능한 추가 축이 몇 개인지 확인한 다음, 그 수를 extraAxisCount 매개변수로 전달해야 합니다.

다음 코드 예제는 게임패드의 추가 축을 활용하는 방법을 보여줍니다:

```cpp theme={null}
bool GetGamepadExtraAxisValues(
    std::vector<float>* extraAxes,
    IGameInputReading* reading) noexcept
{
    Mwrl::ComPtr<IGameInputDevice> device;
    reading->GetDevice(&device);

    uint32_t extraAxisCount = 0;
    if (FAILED(device->GetExtraAxisCount(GameInputKindGamepad, &extraAxisCount)))
    {
        return false;
    }

    std::vector<uint8_t> axisIndexes(extraAxisCount);
    extraAxes->resize(extraAxisCount);
    if (FAILED(device->GetExtraAxisIndexes(
        GameInputKindGamepad,
        extraAxisCount,
        axisIndexes.data())))
    {
        return false;
    }

    std::vector<float> axisStates(reading->GetControllerAxisCount());
    reading->GetControllerAxisState(static_cast<uint32_t>(axisStates.size()), axisStates.data());

    for (size_t i = 0; i < axisIndexes.size(); ++i)
    {
        if (axisIndexes[i] < axisStates.size())
        {
            (*extraAxes)[i] = axisStates[axisIndexes[i]];
        }
    }

    return true;
}
```

## 요구 사항

**헤더:** GameInput.h

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

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

## 함께 보기

[GameInputKind](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputkind.md)\

[GetExtraAxisCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)\

[GetExtraButtonIndexes](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md)\

[IGameInputDevice](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## 버전 기록

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


## Related topics

- [GetExtraAxisCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)
- [GetExtraButtonIndexes](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md)
- [IGameInputDevice (인터페이스 콘텐츠)](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [GetExtraButtonCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount.md)
- [Axis](https://docs.xbox.com/ko/reference/system/touchadaptationkit/types/game-streaming-touch-axis.md)
