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

Recupera la siguiente interfaz [IGameInputReading](/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) disponible a partir de una lectura de referencia de una secuencia de entrada filtrada opcionalmente.

## Sintaxis

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

### Parámetros

*referenceReading*   \_In\_\\
Tipo: IGameInputReading\*

La interfaz [IGameInputReading](/reference/input/gameinput/interfaces/igameinputreading/igameinputreading) actual. La interfaz `IGameInputReading` devuelta es la lectura siguiente a esta lectura de referencia.

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

Filtro de los tipos de entrada de los que se extrae la lectura siguiente. La interfaz `GameInputKind` es una variable de marcas. Puede combinar varios valores para filtrar por varias constantes de `GameInputKind`. Cuando se especifican varios tipos de entrada, cualquier lectura que contenga al menos uno de los tipos de entrada coincidirá y se devolverá.

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

Filtro del dispositivo específico del que se extrae la lectura siguiente.

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

La interfaz `IGameInputReading` devuelta que sigue secuencialmente a la entrada `referenceReading`.

### Valor devuelto

Tipo: HRESULT

Resultado de la función.

## Comentarios

Los métodos `GetNextReading` y `GetPreviousReading` permiten a las aplicaciones recorrer el historial de entrada lectura por lectura.

Devuelve un valor `NULL` y un `HRESULT` de error si no hay ninguna lectura después de `referenceReading`, si se proporciona un filtro de dispositivo para un dispositivo desconectado, o si ha transcurrido demasiado tiempo y la lectura de referencia y la lectura devuelta han salido del búfer de historial de la secuencia de entrada. El error por tiempo transcurrido es poco frecuente en las aplicaciones que procesan la entrada de forma continua, ya que la secuencia de entrada mantiene medio segundo de lecturas de cada dispositivo en su búfer de historial.

En el ejemplo de código siguiente se muestra cómo sondear todo el estado del mando desde un dispositivo específico.

```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;
        }
    }
}
```

## Requisitos

**Encabezado:** GameInput.h

[Información general de GameInput](/build/core-features/common/input/overviews/input-overview)\
[IGameInput\_GetCurrentReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading)\
[IGameInput\_GetPreviousReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading)\
[IGameInput](/reference/input/gameinput/interfaces/igameinput/igameinput)

## Historial de versiones

| Versión | Cambios       |
| ------- | ------------- |
| **v0**  | Se introdujo. |
