PDD_WAITFORVERTICALBLANK Rückruffunktion (ddrawint.h)
Die DdWaitForVerticalBlank-Rückruffunktion gibt die vertikale leere status des Geräts zurück.
Syntax
PDD_WAITFORVERTICALBLANK PddWaitforverticalblank;
DWORD PddWaitforverticalblank(
PDD_WAITFORVERTICALBLANKDATA unnamedParam1
)
{...}
Parameter
unnamedParam1
Zeigt auf eine DD_WAITFORVERTICALBLANKDATA-Struktur, die die zum Abrufen des vertikalen leeren status erforderlichen Informationen enthält.
Rückgabewert
DdWaitForVerticalBlank gibt einen der folgenden Rückrufcodes zurück:
Hinweise
Abhängig vom Wert des dwFlags-Members der DD_WAITFORVERTICALBLANKDATA-Struktur bei lpWaitForVerticalBlank sollte der Treiber die folgenden Schritte ausführen:
- Wenn dwFlags DDWAITVB_I_TESTVB ist, sollte der Treiber die aktuelle vertikale Leerung status abfragen. Der Treiber sollte den bIsInVB-Member von DD_WAITFORVERTICALBLANKDATA auf TRUE festlegen, wenn sich der Monitor derzeit in einem vertikalen Leerzeichen befindet. Andernfalls sollte der Treiber bIsInVB auf FALSE festlegen.
- Wenn dwFlags DDWAITVB_BLOCKBEGIN ist, sollte der Treiber blockieren und warten, bis ein vertikales Leerzeichen beginnt. Wenn ein vertikales Leerzeichen ausgeführt wird, wenn der Treiber den Block beginnt, sollte der Treiber warten, bis das nächste vertikale Leerzeichen beginnt, bevor er zurückgibt.
- Wenn dwFlags DDWAITVB_BLOCKEND ist, sollte der Treiber blockieren und warten, bis ein vertikales Leerzeichen endet.
DdWaitForVerticalBlank ermöglicht es einer Anwendung, sich mit dem vertikalen Leerungsintervall (VBI) zu synchronisieren.
Es gibt auch ein Problem mit den WHQL Display Compatibility Tests (DCTs). Eines der DCTs für die Energieverwaltung schaltet den Monitor aus und ruft dann den vertikalen leeren status ab, und wartet darauf, dass es sich ändert. Wenn der Treiber immer den gleichen vertikalen leeren status meldet, wenn der Monitor heruntergefahren wird, hängt die Testanwendung auf, um darauf zu warten, dass sich das Ergebnis ändert. Dies wurde im Permedia2-Beispieltreiber behoben, indem während des Herunterfahrens des Monitors wechselnde Ergebnisse zurückgegeben wurden. Das heißt, wenn der DdWaitForVerticalBlank-Einstiegspunkt des Treibers zum ersten Mal mit dem DDWAIT_I_TESTVB-Flag aufgerufen wird (wenn der Monitor heruntergefahren wird), gibt er FALSE zurück, wenn er das nächste Mal TRUE, das nächste Mal FALSE usw. zurückgibt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ddrawint.h (include Winddi.h) |