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

# IGameInputDevice::GetFeatureReportInfo

> Recupera as descrições dos relatórios de recurso brutos que o dispositivo define.

Recupera as descrições dos relatórios de recurso brutos que o dispositivo define.

## Sintaxe

```cpp theme={null}
uint32_t GetFeatureReportInfo(
    uint32_t infoArrayCount,
    GameInputRawDeviceReportInfo* infoArray
);
```

### Parâmetros

*infoArrayCount*   \_In\_\
Tipo: uint32\_t

Número de elementos em *infoArray*. Para recuperar todos os relatórios de recurso, passe o valor retornado por [GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md).

*infoArray*   \_Out\_writes\_to\_opt\_(infoArrayCount, return)\
Tipo: [GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)\*

Ponteiro para uma matriz que recebe uma estrutura por relatório de recurso. Pode ser `nullptr`; nesse caso, nada é gravado e o método retorna 0.

### Valor retornado

Tipo: uint32\_t

O número de elementos gravados em *infoArray*. Esse é o menor valor entre *infoArrayCount* e o número de relatórios de recurso no dispositivo, ou 0 se *infoArray* for `nullptr` ou se o dispositivo não tiver relatórios de recurso.

## Comentários

Cada elemento é uma estrutura [GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) cujo membro `kind` é `GameInputRawFeatureReport`, cujo membro `id` é o ID do relatório definido pelo dispositivo e cujo membro `size` é o tamanho dos dados do relatório em bytes.

Chame [GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) para obter o número de relatórios de recurso, aloque uma matriz desse tamanho e, em seguida, chame `GetFeatureReportInfo` para preenchê-la. Se *infoArrayCount* for menor que o número de relatórios de recurso, somente os primeiros *infoArrayCount* elementos serão gravados. Os relatórios de recurso de um dispositivo não mudam enquanto o dispositivo está conectado, portanto você pode consultá-los uma vez e armazenar o resultado em cache.

Use o membro `id` de um elemento como o parâmetro *reportId* de [GetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md) para ler o relatório, ou de [CreateRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md), junto com `GameInputRawFeatureReport`, para criar um relatório que você pode enviar com [SetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md). O membro `size` fornece o número de bytes de dados do relatório.

O exemplo a seguir mostra como recuperar os relatórios de recurso de um dispositivo.

```cpp theme={null}
uint32_t reportCount = device->GetFeatureReportCount();
std::vector<GameInputRawDeviceReportInfo> reports(reportCount);
reports.resize(device->GetFeatureReportInfo(reportCount, reports.data()));

for (const GameInputRawDeviceReportInfo& report : reports)
{
    Microsoft::WRL::ComPtr<IGameInputRawDeviceReport> feature;
    if (SUCCEEDED(device->GetRawDeviceFeature(report.id, &feature)))
    {
        // Read the report data with GetRawDataSize and GetRawData.
    }
}
```

## Requisitos

**Cabeçalho:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Visão geral do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-overview.md)\
[GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)\
[GameInputRawDeviceReportKind](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[GetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)\
[SetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[CreateRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[Tópicos avançados do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/advanced/input-advanced-topics.md)\
[IGameInputDevice](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v4** | Introduzido. |


## Related topics

- [GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)
- [IGameInputDevice::GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)
- [IGameInputDevice::GetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [IGameInputDevice::SetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [IGameInputDevice::GetInputReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getinputreportinfo.md)
