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

> Lit un rapport de fonctionnalité brut à partir du périphérique.

Lit un rapport de fonctionnalité brut à partir du périphérique.

## Syntaxe

```cpp theme={null}
HRESULT GetRawDeviceFeature(
    uint32_t reportId,
    IGameInputRawDeviceReport** report
);
```

### Paramètres

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

ID du rapport de fonctionnalité à lire. Doit correspondre au membre `id` de l'un des rapports retournés par [GetFeatureReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md).

*report*   \_COM\_Outptr\_\
Type : [IGameInputRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\*\*

Reçoit un nouvel objet `IGameInputRawDeviceReport` qui contient les données du rapport de fonctionnalité lues à partir du périphérique. Défini sur `nullptr` en cas d'échec.

### Valeur de retour

Type : HRESULT

Retourne `S_OK` en cas de réussite. Retourne `E_NOTFOUND` si le périphérique ne définit aucun rapport de fonctionnalité avec l'ID spécifié, et `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED` si le périphérique est un périphérique agrégé. Retourne d'autres codes d'erreur si le rapport ne peut pas être lu à partir du périphérique.

## Remarques

La méthode `GetRawDeviceFeature` demande au périphérique le contenu actuel d'un rapport de fonctionnalité et le retourne dans un nouvel objet [IGameInputRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md). Le membre `kind` de la structure [GameInputRawDeviceReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) du rapport vaut `GameInputRawFeatureReport`, et la taille de ses données correspond au membre `size` de l'élément correspondant retourné par [GetFeatureReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md). Lisez les données en appelant [GetRawDataSize](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdatasize.md) et [IGameInputRawDeviceReport::GetRawData](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdata.md).

Utilisez [GetFeatureReportCount](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) et [GetFeatureReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md) pour découvrir les rapports de fonctionnalité définis par un périphérique. Les rapports de fonctionnalité sont actuellement exposés pour les périphériques HID. Pour les périphériques HID, le premier octet des données du rapport est l'ID de rapport.

Contrairement aux autres méthodes de rapport brut, `GetRawDeviceFeature` attend la réponse du périphérique avant de retourner ; évitez donc de l'appeler sur des threads critiques en termes de temps, comme votre thread de rendu ou d'interrogation des entrées.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInputRawDeviceReport> report;
if (SUCCEEDED(device->GetRawDeviceFeature(reportId, &report)))
{
    std::vector<uint8_t> data(report->GetRawDataSize());
    data.resize(report->GetRawData(data.size(), data.data()));
    // Parse the device-specific feature report data...
}
```

Pour les cas d'usage intermédiaires et avancés de l'API GameInput, consultez [Rubriques avancées sur GameInput](https://docs.xbox.com/fr/build/core-features/common/input/advanced/input-advanced-topics.md).

## 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)\
[SetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[GetFeatureReportCount](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GetFeatureReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[CreateRawDeviceReport](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Historique des versions

| Version | Modifications |
| - | - |
| **v4** | Réintroduite. |
| **v1** | Supprimée. |
| **v0** | Introduite (non implémentée). |

## Annexe : Versions précédentes

### v0

Dans GameInput v0, cette méthode était déclarée avec la même signature, mais n'était pas implémentée. Pour plus d'informations, consultez [IGameInputDevice::GetRawDeviceFeature (obsolète)](https://docs.xbox.com/fr/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md).


## Related topics

- [IGameInputDevice::GetRawDeviceFeature (déconseillé)](https://docs.xbox.com/fr/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [GameInputRawDeviceReportKind](https://docs.xbox.com/fr/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)
- [Membres de l'API GameInput](https://docs.xbox.com/fr/reference/input/gameinput/gameinput_members.md)
- [IGameInputDevice::SetRawDeviceFeature](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportInfo](https://docs.xbox.com/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)
