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

# IGameInput::CreateAggregateDevice

> IGameInput::CreateAggregateDevice

# IGameInput::CreateAggregateDevice

Crée une instance virtuelle de [IGameInputDevice](/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice) qui agrège toutes les entrées du [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind) spécifié.

## Syntaxe

```cpp theme={null}
HRESULT CreateAggregateDevice(
         GameInputKind inputKind,
         APP_LOCAL_DEVICE_ID* deviceId
)
```

### Paramètres

*inputKind*   \_In\_\
Type : [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind)

Type d'entrée pour lequel le [IGameInputDevice](/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice) virtuel retourné agrégera les lectures.

*deviceId*   \_Out\_\
Type : APP\_LOCAL\_DEVICE\_ID\*

Identificateur de périphérique résultant pour le périphérique agrégé.

### Valeur de retour

Type : HRESULT

Résultat de la fonction. Un échec est retourné lorsqu'un [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind) non pris en charge est utilisé ou lors d'une tentative de combinaison d'indicateurs [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind).

## Remarques

Le type d'entrée utilisé pour CreateAggregateDevice doit être une valeur unique de l'énumération [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind). La combinaison d'indicateurs [GameInputKind](/fr/reference/input/gameinput/enums/gameinputkind) n'est pas prise en charge. Si une application a besoin d'entrées agrégées pour plusieurs types d'entrée, elle doit créer une instance virtuelle de [IGameInputDevice](/fr/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice) pour chacun d'eux.

<Note>Cette fonction sert à réactiver un périphérique agrégé qui a pu être désactivé par un appel à [DisableAggregateDevice](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_disableaggregatedevice). Elle entraîne la réactivation du périphérique plutôt que la création d'une autre instance.</Note>

Le périphérique agrégé émet également des notifications d'état via le rappel inscrit en appelant [RegisterDeviceCallback](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback).

L'agrégation est prise en charge uniquement pour les types d'entrée suivants :

* GameInputKindKeyboard
* GameInputKindMouse
* GameInputKindArcadeStick
* GameInputKindFlightStick
* GameInputKindGamepad
* GameInputKindRacingWheel

## Configuration requise

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

[Vue d'ensemble de l'API d'entrée](/fr/build/core-features/common/input/overviews/input-overview)\
[IGameInput](/fr/reference/input/gameinput/interfaces/igameinput/igameinput)

## Historique des versions

| Version | Modifications |
| - | - |
| **v3** | Implémentée (auparavant E\_NOTIMPL dans v0) et réintroduite. Signature modifiée : `IGameInputDevice**` remplacé par `APP_LOCAL_DEVICE_ID*`. |
| **v1** | Supprimée. |
| **v0** | Introduite, mais non implémentée. |


## Related topics

- [IGameInput::DisableAggregateDevice](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_disableaggregatedevice.md)
- [IGameInputDevice::CreateRawDeviceReport](/fr/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)
- [IGameInput::CreateDispatcher](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createdispatcher.md)
- [IGameInput::FindDeviceFromObject](/fr/reference/input/gameinput/deprecated/interfaces/igameinput/methods/igameinput_finddevicefromobject.md)
- [IGameInput::FindDeviceFromId](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_finddevicefromid.md)
