Compartilhar via


Método ID3D11DeviceContext::GetData (d3d11.h)

Obtenha dados da GPU (unidade de processamento gráfico) de forma assíncrona.

Sintaxe

HRESULT GetData(
  [in]            ID3D11Asynchronous *pAsync,
  [out, optional] void               *pData,
  [in]            UINT               DataSize,
  [in]            UINT               GetDataFlags
);

Parâmetros

[in] pAsync

Tipo: ID3D11Assíncrona*

Um ponteiro para uma interface ID3D11Assíncrona para o objeto sobre o qual GetData recupera dados.

[out, optional] pData

Tipo: void*

Endereço de memória que receberá os dados. Se NULL, GetData será usado apenas para marcar status. O tipo de saída de dados depende do tipo de interface assíncrona.

[in] DataSize

Tipo: UINT

Tamanho dos dados a serem recuperados ou 0. Deve ser 0 quando pData for NULL.

[in] GetDataFlags

Tipo: UINT

Sinalizadores opcionais. Pode ser 0 ou qualquer combinação dos sinalizadores enumerados por D3D11_ASYNC_GETDATA_FLAG.

Retornar valor

Tipo: HRESULT

Esse método retorna um dos códigos de retorno do Direct3D 11. Um valor retornado de S_OK indica que os dados em pData estão disponíveis para o aplicativo de chamada acessar. Um valor retornado de S_FALSE indica que os dados ainda não estão disponíveis. Se os dados ainda não estiverem disponíveis, o aplicativo deverá chamar GetData até que os dados estejam disponíveis.

Comentários

As consultas em um contexto adiado são limitadas ao desenho predefinido. Ou seja, você não pode chamar ID3D11DeviceContext::GetData em um contexto adiado para obter dados sobre uma consulta; você só pode chamar GetData no contexto imediato para obter dados sobre uma consulta. Para o desenho predefinido, os resultados de uma consulta de tipo de pré-indicação são usados pela GPU e não são retornados a um aplicativo. Para obter mais informações sobre precatório e desenho predefinido, consulte D3D11DeviceContext::SetPredication.

GetData recupera os dados que o runtime coletou entre chamadas para ID3D11DeviceContext::Begin e ID3D11DeviceContext::End. Determinadas consultas exigem apenas uma chamada para ID3D11DeviceContext::End nesse caso, os dados retornados por GetData são precisos até a última chamada para ID3D11DeviceContext::End. Para obter informações sobre as consultas que exigem apenas uma chamada para ID3D11DeviceContext::End e sobre o tipo de dados que GetData recupera para cada consulta, consulte D3D11_QUERY.

Se DataSize for 0, GetData só será usado para marcar status.

Um aplicativo coleta dados de contador chamando ID3D11DeviceContext::Begin, emitindo alguns comandos gráficos, chamando ID3D11DeviceContext::End e, em seguida, chamando ID3D11DeviceContext::GetData para obter dados sobre o que aconteceu entre as chamadas Begin e End . Para obter informações sobre tipos de contador de desempenho, consulte D3D11_COUNTER.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3D11.lib

Confira também

ID3D11DeviceContext