Metodo IDirectDraw7::EvaluateMode (ddraw.h)
Usato dopo una chiamata a IDirectDraw7::StartModeTest per superare o non superare ogni modalità presentata dal test e per scorrere le modalità fino al completamento del test.
Sintassi
HRESULT EvaluateMode(
[in] DWORD unnamedParam1,
[out] DWORD *unnamedParam2
);
Parametri
[in] unnamedParam1
Uno dei flag seguenti che indicano lo stato della modalità sottoposta a test:
DDEM_MODEPASSED
La modalità sottoposta a test è stata superata.
DDEM_MODEFAILED
La modalità sottoposta a test non è riuscita.
[out] unnamedParam2
Puntatore a una variabile che riceve un valore che indica i secondi che rimangono prima che la modalità corrente non venga eseguita automaticamente a meno che non venga passato o non sia stato superato in modo esplicito.
Valore restituito
Se il metodo ha esito positivo, il valore restituito viene DD_OK.
Se ha esito negativo o al completamento, il metodo può restituire uno dei valori di errore seguenti:
- DDERR_TESTFINISHED
- DDERR_NEWMODE
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOTFOUND
Commenti
È possibile utilizzare EvaluateMode insieme al metodo IDirectDraw7::StartModeTest per determinare la frequenza di aggiornamento massima supportata da una combinazione di monitor EDID e adattatori di visualizzazione per ogni risoluzione dello schermo.
In particolare, una chiamata a IDirectDraw7::StartModeTest indirizza DirectDraw per stabilire un set di risoluzioni testabili e per visualizzare una modalità basata sulla prima risoluzione nel set. Le chiamate successive a EvaluateMode possono essere usate per superare o interrompere ogni modalità e per passare il test alla modalità di visualizzazione successiva. Il metodo esegue la procedura per eseguire le risoluzioni testabili a partire dalla frequenza di aggiornamento più elevata supportata per una determinata risoluzione. Dopo il passaggio di una frequenza di aggiornamento per una determinata risoluzione, viene ignorato il test delle frequenze di aggiornamento inferiori per tale risoluzione.
Quando il test viene avviato o ogni volta che viene superata o non superata una modalità, DirectDraw inizia un timeout di 15 secondi. Un'applicazione può monitorare il tempo rimanente senza passare o non riuscire la modalità corrente chiamando EvaluateMode con un valore pari a 0 per l'argomento dwFlags. Si noti che DirectDraw modifica solo le modalità o termina il test quando viene chiamato EvaluateMode . Tuttavia, se un'applicazione chiama EvaluateMode dopo che è trascorso il periodo di timeout, la modalità corrente ha esito negativo, indipendentemente dal valore passato al parametro dwFlags .
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | ddraw.h |
Libreria | Ddraw.lib |
DLL | Ddraw.dll |