> ## 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-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md).

*report*   \_COM\_Outptr\_\
Type : [IGameInputRawDeviceReport](https://docs.xbox.com/fr-CA/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 à `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é ayant 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-CA/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md). Le membre `kind` de la structure [GameInputRawDeviceReportInfo](https://docs.xbox.com/fr-CA/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-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md). Lisez les données en appelant [GetRawDataSize](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdatasize.md) et [IGameInputRawDeviceReport::GetRawData](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdata.md).

Utilisez [GetFeatureReportCount](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) et [GetFeatureReportInfo](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md) pour découvrir quels rapports de fonctionnalité un périphérique définit. 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 où le temps est critique, 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'utilisation intermédiaires et avancés de l'API GameInput, consultez [Rubriques avancées sur GameInput](https://docs.xbox.com/fr-CA/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-CA/build/core-features/common/input/overviews/input-overview.md)\
[SetRawDeviceFeature](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[GetFeatureReportCount](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GetFeatureReportInfo](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[CreateRawDeviceReport](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/fr-CA/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Historique des versions

| Version | Modifications |
| - | - |
| **v4** | Réintroduit. |
| **v1** | Supprimé. |
| **v0** | Introduit (non implémenté). |

## 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 (déconseillé)](https://docs.xbox.com/fr-CA/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md).


## Related topics

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