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

# XGameStreamingGetAssociatedFrame

> XGameStreamingGetAssociatedFrame

# XGameStreamingGetAssociatedFrame

<Info>**Preterido.** Esta API foi preterida a partir da versão 2604 do GDK e será removida em uma versão futura do GDK. Não há API substituta: os títulos devem usar [XGameStreamingGetStreamAddedLatency](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggetstreamaddedlatency) para ajustes de jogabilidade com reconhecimento de latência.</Info>

Obtém o token de pipeline de quadros de uma leitura de entrada específica.

## Sintaxe

```cpp theme={null}
HRESULT XGameStreamingGetAssociatedFrame(  
         IGameInputReading* gamepadReading,  
         D3D12XBOX_FRAME_PIPELINE_TOKEN* framePipelineToken  
)  
```

### Parâmetros

*gamepadReading*   \_In\_\
Tipo: IGameInputReading\*

A leitura do gamepad que está sendo consultada.

*framePipelineToken*   \_Out\_\
Tipo: D3D12XBOX\_FRAME\_PIPELINE\_TOKEN\*

O token de pipeline de quadros associado ao quadro exibido no dispositivo do cliente quando a entrada foi feita pelo jogador. Esse token de pipeline corresponde à chamada de PresentX quando o quadro foi apresentado pelo jogo e enviado ao dispositivo cliente.

### Valor retornado

Tipo: HRESULT

Retorna **S\_OK** se for bem-sucedido; caso contrário, retorna um código de erro.

#### Possíveis erros

| Código de erro | Valor do erro | Motivo do erro |
| - | - | - |
| E\_GAMESTREAMING\_NOT\_INITIALIZED | 0x89245400 | O runtime do XGameStreaming não foi inicializado. Chame [XGameStreamingInitialize](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminginitialize) antes de chamar outras APIs. |
| E\_GAMESTREAMING\_NO\_DATA | 0x89245402 | Os dados solicitados não estão disponíveis. Os dados podem ficar disponíveis mais tarde. |
| E\_GAMESTREAMING\_NOT\_STREAMING\_CONTROLLER | 0x89245404 | A leitura atual não veio de um controle de streaming. |

## Comentários

Quando um jogador está fazendo streaming de um jogo, `XGameStreamingGetAssociatedFrame` pode ser utilizado se o jogo precisar alterar seu comportamento com base no quadro específico exibido no dispositivo do jogador quando a entrada foi feita.

Isso permite que o jogo tome suas decisões de simulação com base no quadro que o jogador viu no momento da entrada, e não no quadro atual.

`XGameStreamingGetAssociatedFrame` só pode fornecer ao jogo informações sobre o quadro exibido quando uma nova leitura de entrada é criada. Caso o jogo precise determinar o que estava sendo exibido quando uma entrada pode não ter sido feita pelo jogador, o jogo deve utilizar [XGameStreamingGetLastFrameDisplayed](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggetlastframedisplayed).

## Exemplo

```C++ theme={null}
// In this example, when processing input, the game would like to pass along the frame 
// that was being displayed to the player at the time of input so that their simulation
// engine can take that into account.

// The framePipelineToken was initially captured at the callback of WaitFrameEventX

void Game::Update(DX::StepTimer const& timer)
{
    IGameInputReading* reading;
    if (SUCCEEDED(g_gameInput->GetCurrentReading(GameInputKindGamepad, g_gamepad, &reading)))
    {
        D3D12XBOX_FRAME_PIPELINE_TOKEN framePipelineToken = D3D12XBOX_FRAME_PIPELINE_TOKEN_NULL;        

        if SUCCEEDED(XGameStreamingGetAssociatedFrame(&reading, &framePipelineToken)) 
        {
            SimulateBasedOnInputAndFrameDisplayed(reading, framePipelineToken);
        }
        else 
        {
            // simulate based on current frame
            SimulateBasedOnInput(reading);
        }

        reading->Release();
    }
}

```

## Requisitos

**Cabeçalho:** xgamestreaming.h

**Biblioteca:** xgameruntime.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Análise detalhada da compensação de latência do streaming de jogos](/pt-BR/build/core-features/common/game-streaming/game-streaming-latency-compensation-deep-dive)

## Confira também

[XGameStreamingGetLastFrameDisplayed](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggetlastframedisplayed)\
[XGameStreaming](/pt-BR/reference/system/xgamestreaming/xgamestreaming_members#Latency)\
[Visão geral da compensação de latência do streaming de jogos](/pt-BR/build/core-features/common/game-streaming/game-streaming-latency-compensation-overview)


## Related topics

- [XGameStreamingGetAssociatedFrame](/reference/system/xgamestreaming/functions/xgamestreaminggetassociatedframe.md)
- [XGameStreamingGetLastFrameDisplayed](/reference/system/xgamestreaming/functions/xgamestreaminggetlastframedisplayed.md)
