Condividi tramite


Metodo IDirectDraw7::StartModeTest (ddraw.h)

Avvia un test per aggiornare il Registro di sistema con informazioni sulla frequenza di aggiornamento per la combinazione corrente della scheda di visualizzazione e del monitoraggio. Una chiamata a questo metodo viene in genere seguita dalle chiamate a IDirectDraw7::EvaluateMode per passare o non riuscire le modalità visualizzate dal test.

Sintassi

HRESULT StartModeTest(
  [in] LPSIZE unnamedParam1,
  [in] DWORD  unnamedParam2,
  [in] DWORD  unnamedParam3
);

Parametri

[in] unnamedParam1

Matrice di elementi SIZE che descrivono, in termini di risoluzioni dello schermo, le modalità che devono essere testate.

[in] unnamedParam2

Numero di elementi nella matrice specificata dal parametro lpModesToTest .

[in] unnamedParam3

Flag che specificano le opzioni per l'avvio di un test. L'unico valore flag attualmente valido è DDSMT_ISTESTREQUIRED. Quando viene specificato questo flag, StartModeTest non avvia un test, ma restituisce invece un valore che indica se è possibile o necessario testare le risoluzioni identificate dai parametri lpModesToTest e dwNumEntries .

Valore restituito

Se il metodo ha esito positivo, il valore restituito è DD_OK.

Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:

  • DDERR_CURRENTLYNOTAVAIL
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_NOTFOUND
  • DDERR_TESTFINISHED
Quando il metodo viene chiamato con il flag DDSMT_ISTESTREQUIRED, può restituire uno dei valori seguenti:
  • DDERR_NEWMODE
  • DDERR_NODRIVERSUPPORT
  • DDERR_NOMONITORINFORMATION
  • DDERR_TESTFINISHED

Commenti

È possibile usare il metodo StartModeTest insieme al metodo IDirectDraw7::EvaluateMode per determinare la frequenza di aggiornamento massima che un monitor EDID e una combinazione di schede di visualizzazione possono supportare per ogni risoluzione dello schermo. I risultati dei test vengono archiviati nel Registro di sistema e influiscono sull'operazione di IDirectDraw7::EnumDisplayModes quando tale metodo viene chiamato con il flag di DDEDM_REFRESHRATES impostato.

In particolare, una chiamata a StartModeTest indirizza DirectDraw per stabilire un set di risoluzioni testable e per visualizzare una modalità in base alla prima risoluzione nel set. Le chiamate successive a IDirectDraw7::EvaluateMode possono essere usate per passare o non riuscire ogni modalità e per passare il test alla modalità di visualizzazione successiva.

StartModeTest ha esito positivo solo con i monitoraggi che contengono dati EDID. Se il monitoraggio non è conforme a EDID, StartModeTest restituisce DDERR_TESTFINISHED senza testare alcuna modalità. Se la tabella EDID non contiene valori superiori a 60 Hz, non vengono testate modalità. Le frequenze di aggiornamento superiori a 100 Hz vengono testate solo se la tabella EDID contiene valori superiori a 85 Hz.

Se si chiama StartModeTest con un elenco di argomenti (NULL, 0, 0), StartModeTest cancella le informazioni sulla frequenza di aggiornamento esistenti dal Registro di sistema.

Il test non garantisce di visualizzare solo le risoluzioni della matrice descritta dai parametri lpModesToTest e dwNumEntries . Ad esempio, la risoluzione 640×480 viene usata per ottenere una frequenza di aggiornamento visualizzabile massima per la risoluzione 320×200.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ddraw.h
Libreria Ddraw.lib
DLL Ddraw.dll

Vedi anche

IDirectDraw7