Compartilhar via


Método IDirectDraw7::EvaluateMode (ddraw.h)

Usado após uma chamada para IDirectDraw7::StartModeTest para passar ou falhar em cada modo que o teste apresenta e para percorrer os modos até que o teste seja concluído.

Sintaxe

HRESULT EvaluateMode(
  [in]  DWORD unnamedParam1,
  [out] DWORD *unnamedParam2
);

Parâmetros

[in] unnamedParam1

Um dos seguintes sinalizadores que indicam o status do modo que está sendo testado:

DDEM_MODEPASSED

O modo que está sendo testado passou.

DDEM_MODEFAILED

O modo que está sendo testado falhou.

[out] unnamedParam2

Um ponteiro para uma variável que recebe um valor que indica os segundos que permanecem antes que o modo atual falhe automaticamente, a menos que ele seja passado explicitamente ou tenha falhado.

Valor retornado

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar ou após a conclusão, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_TESTFINISHED
  • DDERR_NEWMODE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOTFOUND

Comentários

Você pode usar EvaluateMode em conjunto com o método IDirectDraw7::StartModeTest para determinar a taxa de atualização máxima que uma combinação de monitor EDID e adaptador de exibição pode dar suporte para cada resolução de tela.

Especificamente, uma chamada para IDirectDraw7::StartModeTest direciona DirectDraw para estabelecer um conjunto de resoluções testáveis e exibir um modo com base na primeira resolução do conjunto. Chamadas subsequentes para EvaluateMode podem ser usadas para passar ou falhar em cada modo e para avançar o teste para o próximo modo de exibição. O método percorre as resoluções testáveis começando com a taxa de atualização mais alta com suporte para uma determinada resolução. Depois que uma taxa de atualização para uma determinada resolução for aprovada, o teste de taxas de atualização mais baixas para essa resolução será ignorado.

Quando o teste é iniciado ou sempre que um modo é passado ou com falha, DirectDraw inicia um tempo limite de 15 segundos. Um aplicativo pode monitorar o tempo restante sem passar ou falhar no modo atual chamando EvaluateMode com um valor de 0 para o argumento dwFlags. Observe que o DirectDraw só altera os modos ou encerra o teste quando EvaluateMode é chamado. No entanto, se um aplicativo chamar EvaluateMode após o período de tempo limite ter decorrido, o modo atual falhará, independentemente do valor passado para o parâmetro dwFlags .

Requisitos

   
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDraw7