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

> IGameInput::GetPreviousReading

# IGameInput::GetPreviousReading

Récupère la lecture [IGameInputReading](/fr-CA/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) précédente en fonction d'une lecture de référence, à partir d'un flux d'entrée éventuellement filtré.

## Syntaxe

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

### Paramètres

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

L'interface `IGameInputReading` retournée est lue séquentiellement avant cette lecture de référence.

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

Filtre pour les types d'entrée à partir desquels obtenir la lecture précédente. L'interface `GameInputKind` est une variable d'indicateurs. Vous pouvez combiner plusieurs valeurs pour filtrer sur plusieurs constantes. Lorsque plusieurs types d'entrée sont spécifiés, toutes les lectures qui contiennent au moins un des types d'entrée seront mises en correspondance et retournées.

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

Filtre pour l'appareil spécifique à partir duquel obtenir la lecture précédente.

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

L'interface `IGameInputReading` retournée, qui vient séquentiellement avant l'entrée `referenceReading`.

### Valeur de retour

Type : HRESULT

Résultat de la fonction.

## Remarques

Les méthodes [GetNextReading](/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getnextreading) et [GetPreviousReading](/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_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'y a aucune lecture après `referenceReading`, si un filtre d'appareil est fourni pour un appareil 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 appareil dans sa mémoire tampon d'historique.

L'exemple de code suivant montre comment interroger tous les états de manette provenant d'un appareil 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

[GameInput](/fr-CA/reference/input/gameinput/gameinput_members)\
[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\_GetNextReading](/fr-CA/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getnextreading)\
[IGameInput](/fr-CA/reference/input/gameinput/interfaces/igameinput/igameinput)

## Historique des versions

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


## Related topics

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