Freigeben über


IDirectDraw7::EvaluateMode-Methode (ddraw.h)

Wird nach einem Aufruf von IDirectDraw7::StartModeTest verwendet, um jeden modus, den der Test darstellt, zu bestehen oder fehlzuschlagen und die Modi zu durchlaufen, bis der Test abgeschlossen ist.

Syntax

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

Parameter

[in] unnamedParam1

Eines der folgenden Flags, die die status des getesteten Modus angeben:

DDEM_MODEPASSED

Der getestete Modus ist erfolgreich.

DDEM_MODEFAILED

Der getestete Modus ist fehlgeschlagen.

[out] unnamedParam2

Ein Zeiger auf eine Variable, die einen Wert empfängt, der die Sekunden angibt, die verbleiben, bevor der aktuelle Modus fehlschlägt, es sei denn, er wird explizit übergeben oder fehlgeschlagen.

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn sie fehlschlägt oder nach Abschluss, kann die Methode einen der folgenden Fehlerwerte zurückgeben:

  • DDERR_TESTFINISHED
  • DDERR_NEWMODE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOTFOUND

Hinweise

Sie können EvaluateMode in Verbindung mit der IDirectDraw7::StartModeTest-Methode verwenden, um die maximale Aktualisierungsrate zu bestimmen, die eine EDID-Monitor- und Displayadapterkombination für jede Bildschirmauflösung unterstützen kann.

Insbesondere weist ein Aufruf von IDirectDraw7::StartModeTest DirectDraw an, eine Reihe testbarer Auflösungen einzurichten und einen Modus basierend auf der ersten Auflösung im Satz anzuzeigen. Nachfolgende Aufrufe von EvaluateMode können verwendet werden, um jeden Modus zu bestehen oder fehlzuschlagen und den Test in den nächsten Anzeigemodus zu versetzen. Die -Methode durchläuft die testbaren Auflösungen, beginnend mit der höchsten Aktualisierungsrate, die für eine bestimmte Auflösung unterstützt wird. Nachdem eine Aktualisierungsrate für eine bestimmte Auflösung erfolgreich war, wird das Testen niedrigerer Aktualisierungsraten für diese Auflösung übersprungen.

Wenn der Test initiiert wird oder wenn ein Modus bestanden oder fehlgeschlagen ist, beginnt DirectDraw mit einem Timeout von 15 Sekunden. Eine Anwendung kann die verbleibende Zeit überwachen, ohne den aktuellen Modus zu übergeben oder zu scheitern, indem EvaluateMode mit dem Wert 0 für das argument dwFlags aufgerufen wird. Beachten Sie, dass DirectDraw nur den Modus ändert oder den Test beendet, wenn EvaluateMode aufgerufen wird. Wenn jedoch eine Anwendung EvaluateMode aufruft, nachdem der Timeoutzeitraum abgelaufen ist, schlägt der aktuelle Modus fehl, unabhängig vom Wert, der an den dwFlags-Parameter übergeben wird.

Anforderungen

   
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll

Weitere Informationen

IDirectDraw7