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

# GetExtraAxisIndexes

> GetExtraAxisIndexes

# GetExtraAxisIndexes

取得裝置上針對指定輸入類型之額外軸的控制器軸索引。

## 語法

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

### 參數

*inputKind*   \_In\_\
類型：GameInputKind

要求其額外軸索引的輸入類型。

*extraAxisCount*   \_In\_\
類型：uint32\_t

額外軸之軸索引的預期數目。
此數目可透過呼叫  [GetExtraAxisCount](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount) 擷取。

*extraAxisIndexes*   \_Out\_writes\_(extraAxisCount)\_\
類型：uint8\_t\*

指向軸索引陣列的指標。

### 傳回值

類型：HRESULT

函式結果。

## 備註

`GetExtraAxisIndexes` 方法會擷取裝置上針對指定輸入類型存在之額外軸的控制器軸索引。額外軸是存在於實體裝置上、但不屬於指定輸入類型之標準對應的控制器軸。

呼叫此方法之前，您應該先呼叫 [GetExtraAxisCount](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount) 以判斷有多少額外軸可用，並將該數目當作 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](/zh-TW/reference/input/gameinput/enums/gameinputkind)<br />
[GetExtraAxisCount](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount)<br />
[GetExtraButtonIndexes](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes)<br />
[IGameInputDevice](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)

## 版本歷程記錄

| 版本 | 變更 |
| - | - |
| **v3** | 已推出。 |


## Related topics

- [GetExtraAxisCount](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxiscount.md)
- [GetExtraButtonIndexes](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md)
- [IGameInputDevice](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [GetExtraButtonCount](/zh-TW/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttoncount.md)
- [GameInputArcadeStickInfo](/zh-TW/reference/input/gameinput/structs/gameinputarcadestickinfo.md)
