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

> IGameInput::GetNextReading

# IGameInput::GetNextReading

Récupère la prochaine interface [IGameInputReading](/fr-CA/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) disponible en fonction d'une lecture de référence provenant d'un flux d'entrée éventuellement filtré.

## Syntaxe

```cpp theme={null}
HRESULT GetNextReading(
    IGameInputReading* referenceReading,
    GameInputKind inputKind,
    IGameInputDevice* device,
    IGameInputReading** reading
);
```

### Paramètres

*referenceReading*   \_In\_\
Type : IGameInputReading\*

L'interface [IGameInputReading](/fr-CA/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) actuelle. L'interface `IGameInputReading` retournée est la lecture qui suit cette lecture de référence.

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

Filtre des types d'entrée à partir desquels obtenir la lecture suivante. L'interface `GameInputKind` est une variable d'indicateurs. Vous pouvez combiner plusieurs valeurs pour filtrer selon plusieurs constantes `GameInputKind`. Lorsque plusieurs types d'entrée sont spécifiés, toutes les lectures qui contiennent au moins l'un de ces types d'entrée sont retenues et retournées.

*device*   \_In\_opt\_\
Type : IGameInputDevice\*

Filtre du périphérique précis à partir duquel obtenir la lecture suivante.

*reading*   \_COM\_Outptr\_\
Type : IGameInputReading\*\*

L'interface `IGameInputReading` retournée qui suit séquentiellement l'entrée `referenceReading`.

### Valeur de retour

Type : HRESULT

Résultat de la fonction.

## Remarques

Les méthodes `GetNextReading` et `GetPreviousReading` permettent aux applications de parcourir l'historique des entrées, une lecture à la fois.

Retourne une valeur `NULL` et un `HRESULT` d'échec s'il n'y a aucune lecture après `referenceReading`, si un filtre de périphérique est fourni pour un périphérique déconnecté, ou si trop de temps s'est écoulé et que la lecture de référence et la lecture retournée ont quitté la mémoire tampon d'historique du flux d'entrée. L'erreur liée au temps écoulé est rare pour les applications qui traitent les entrées en continu, puisque le flux d'entrée conserve une demi-seconde de lectures de chaque périphérique dans sa mémoire tampon d'historique.

L'exemple de code suivant montre comment interroger tous les états de la manette de jeu à partir d'un périphérique précis.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInput> gameInput;
Microsoft::WRL::ComPtr<IGameInputDevice> gamepad;
Microsoft::WRL::ComPtr<IGameInputReading> prevReading;

void PollGamepadInput() noexcept
{
    if (!prevReading)
    {
        if (SUCCEEDED(gameInput->GetCurrentReading(
            GameInputKindGamepad,
            nullptr,
            &prevReading)))
        {
            prevReading->GetDevice(&gamepad);

            // Application-specific code to process the initial reading.
        }
    }

    else
    {
        Microsoft::WRL::ComPtr<IGameInputReading> nextReading;
        HRESULT hr = gameInput->GetNextReading(
            prevReading.Get(),
            GameInputKindGamepad,
            gamepad.Get(),
            &nextReading);

        if (SUCCEEDED(hr))
        {
            // Application-specific code to process the next reading.

            prevReading = nextReading;
        }

        else if (hr != GAMEINPUT_E_READING_NOT_FOUND)
        {
            gamepad = nullptr;
            prevReading = nullptr;
        }
    }
}
```

## Configuration requise

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

[Vue d'ensemble de GameInput](/fr-CA/build/core-features/common/input/overviews/input-overview)\
[IGameInput\_GetCurrentReading](/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading)\
[IGameInput\_GetPreviousReading](/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading)\
[IGameInput](/fr-CA/reference/input/gameinput/interfaces/igameinput/igameinput)

## Historique des versions

| Version | Modifications |
| - | - |
| **v0** | Introduit. |


## Related topics

- [IGameInput::GetNextReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getnextreading.md)
- [IGameInput::GetCurrentReading](/ko/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading.md)
- [IGameInput::GetPreviousReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading.md)
