> ## 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/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) disponible en fonction d'une lecture de référence issue 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\*

[IGameInputReading](/fr/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/reference/input/gameinput/enums/gameinputkind)

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

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

Filtre du périphérique spécifique à partir duquel extraire la lecture suivante.

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

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 lecture par lecture.

Retourne une valeur `NULL` et un `HRESULT` d'échec s'il n'existe 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, car 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 spécifique.

```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/build/core-features/common/input/overviews/input-overview)\
[IGameInput\_GetCurrentReading](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading)\
[IGameInput\_GetPreviousReading](/fr/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading)\
[IGameInput](/fr/reference/input/gameinput/interfaces/igameinput/igameinput)

## Historique des versions

| Version | Modifications |
| - | - |
| **v0** | Introduite. |


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