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 |