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

> Récupère les descriptions des rapports de fonctionnalité bruts définis par le périphérique.

Récupère les descriptions des rapports de fonctionnalité bruts définis par le périphérique.

## Syntaxe

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

### Paramètres

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

Nombre d'éléments de *infoArray*. Pour récupérer tous les rapports de fonctionnalité, transmettez la valeur retournée par [GetFeatureReportCount](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md).

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

Pointeur vers un tableau qui reçoit une structure par rapport de fonctionnalité. Peut être `nullptr`, auquel cas rien n'est écrit et la méthode retourne 0.

### Valeur de retour

Type : uint32\_t

Nombre d'éléments écrits dans *infoArray*. Il s'agit de la plus petite valeur entre *infoArrayCount* et le nombre de rapports de fonctionnalité du périphérique, ou de 0 si *infoArray* est `nullptr` ou si le périphérique n'a aucun rapport de fonctionnalité.

## Remarques

Chaque élément est une structure [GameInputRawDeviceReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) dont le membre `kind` vaut `GameInputRawFeatureReport`, dont le membre `id` est l'ID de rapport défini par le périphérique et dont le membre `size` correspond à la taille des données du rapport, en octets.

Appelez [GetFeatureReportCount](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) pour obtenir le nombre de rapports de fonctionnalité, allouez un tableau de cette taille, puis appelez `GetFeatureReportInfo` pour le remplir. Si *infoArrayCount* est inférieur au nombre de rapports de fonctionnalité, seuls les *infoArrayCount* premiers éléments sont écrits. Les rapports de fonctionnalité d'un périphérique ne changent pas tant que le périphérique est connecté ; vous pouvez donc les interroger une seule fois et mettre le résultat en cache.

Utilisez le membre `id` d'un élément comme paramètre *reportId* de [GetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md) pour lire le rapport, ou de [CreateRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md), avec `GameInputRawFeatureReport`, pour créer un rapport que vous pouvez envoyer avec [SetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md). Le membre `size` indique le nombre d'octets des données du rapport.

L'exemple suivant montre comment récupérer les rapports de fonctionnalité d'un périphérique.

```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.
    }
}
```

## Configuration requise

**En-tête :** GameInput.h

**Bibliothèque :** gameinput.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Vue d'ensemble de GameInput](https://docs.xbox.com/fr/build/core-features/common/input/overviews/input-overview.md)\
[GetFeatureReportCount](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GameInputRawDeviceReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)\
[GameInputRawDeviceReportKind](https://docs.xbox.com/fr/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[GetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)\
[SetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[CreateRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[Rubriques avancées sur GameInput](https://docs.xbox.com/fr/build/core-features/common/input/advanced/input-advanced-topics.md)\
[IGameInputDevice](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Historique des versions

| Version | Modifications |
| - | - |
| **v4** | Introduite. |


## Related topics

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