Freigeben über


IDirectDrawSurface7::Flip-Methode (ddraw.h)

Bewirkt, dass der Surface-Speicher, der dem DDSCAPS_BACKBUFFER Surface zugeordnet ist, der Frontpufferoberfläche zugeordnet wird.

Syntax

HRESULT Flip(
  [in] LPDIRECTDRAWSURFACE7 unnamedParam1,
  [in] DWORD                unnamedParam2
);

Parameter

[in] unnamedParam1

Ein Zeiger auf die IDirectDrawSurface7-Schnittstelle für eine beliebige Oberfläche in der Drehkette. Der Standardwert für diesen Parameter ist NULL. In diesem Fall durchläuft DirectDraw die Puffer in der Reihenfolge, in der sie aneinander angefügt sind. Wenn dieser Parameter nicht NULL ist, wird DirectDraw auf die angegebene Oberfläche umgedreht, anstatt auf die nächste Oberfläche in der Flipping-Kette. Wenn die angegebene Oberfläche kein Element der Flippingkette ist, schlägt ein Fehler fehl.

[in] unnamedParam2

Eine Kombination von Flags, die Flip-Optionen angeben. Die folgenden Flags werden definiert:

DDFLIP_DONOTWAIT

Auf IDirectDrawSurface7-Schnittstellen ist der Standardwert DDFLIP_WAIT. Wenn Sie die Standardzeit überschreiben und verwenden möchten, wenn der Accelerator ausgelastet ist (wie durch den DDERR_WASSTILLDRAWING Rückgabewert gekennzeichnet), verwenden Sie DDFLIP_DONOTWAIT.

DDFLIP_EVEN

Nur zur Verwendung beim Anzeigen von Videos in einer Überlagerungsoberfläche. Die neue Oberfläche enthält Daten aus dem geraden Feld eines Videosignals. Dieses Flag kann nicht mit dem DDFLIP_ODD-Flag verwendet werden.

DDFLIP_STEREO

DirectDraw dreht und zeigt eine Standard Stereooberfläche an. Wenn dieses Flag festgelegt ist, ist das automatische Stereoflipping aktiviert. Die Hardware wechselt während jeder Bildschirmaktualisierung automatisch zwischen den linken und rechten Puffern.

DDFLIP_INTERVAL2

DDFLIP_INTERVAL3

DDFLIP_INTERVAL4

Die Flags DDFLIP_INTERVAL2, DDFLIP_INTERVAL3 und DDFLIP_INTERVAL4 geben an, wie viele vertikale Rückverfolgungen zwischen den einzelnen Blättern gewartet werden sollen. Der Standardwert ist 1. DirectDraw gibt DERR_WASSTILLDRAWING für jede Am Flip beteiligte Oberfläche zurück, bis die angegebene Anzahl von vertikalen Rückverfolgungen aufgetreten ist. Wenn DDFLIP_INTERVAL2 festgelegt ist, dreht DirectDraw jede zweite vertikale Synchronisierung um. wenn DDFLIP_INTERVAL3, bei jeder dritten Synchronisierung; und wenn DDFLIP_INTERVAL4, bei jeder vierten Synchronisierung.

Diese Flags sind nur wirksam, wenn DDCAPS2_FLIPINTERVAL Bit im dwCaps2-Member der DDCAPS-Struktur festgelegt ist, das für die Anzeigehardware zurückgegeben wird.

DDFLIP_NOVSYNC

Bewirkt, dass DirectDraw den physischen Flip so nah wie möglich an der nächsten Scanzeile durchführt. Nachfolgende Vorgänge, die die beiden umgeklappten Oberflächen betreffen, überprüfen nicht, ob der physische Flip abgeschlossen ist. Das heißt, sie geben aus diesem Grund nicht DDERR_WASSTILLDRAWING zurück (möglicherweise aus anderen Gründen). Dadurch kann eine Anwendung Flips mit einer höheren Häufigkeit als die Monitoraktualisierungsrate ausführen, aber möglicherweise sichtbare Artefakte einführen.

Wenn DDCAPS2_FLIPNOVSYNC im dwCaps2-Member der DDCAPS-Struktur , das für die Anzeigehardware zurückgegeben wird, nicht festgelegt ist, hat DDFLIP_NOVSYNC keine Auswirkungen.

DDFLIP_ODD

Nur zur Verwendung beim Anzeigen von Videos in einer Überlagerungsoberfläche. Die neue Oberfläche enthält Daten aus dem ungeraden Feld eines Videosignals. Dieses Flag kann nicht mit dem DDFLIP_EVEN-Flag verwendet werden.

DDFLIP_WAIT

Wenn der Flip nicht eingerichtet werden kann, weil der Zustand der Anzeigehardware nicht angemessen ist, wird der DDERR_WASSTILLDRAWING Fehler in der Regel sofort zurückgegeben, und es tritt kein Umdrehen auf. Das Festlegen dieses Flags führt dazu , dass Flip weiterhin versucht, zu flipen, wenn es den DDERR_WASSTILLDRAWING Fehler von der Hardware abstraction Layer (HAL) empfängt. Flip wird erst zurückgegeben, wenn der Kehrvorgang erfolgreich eingerichtet wurde oder ein anderer Fehler wie DDERR_SURFACEBUSY zurückgegeben wird.

Rückgabewert

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

Wenn ein Fehler auftritt, kann die Methode einen der folgenden Fehlerwerte zurückgeben:

  • DDERR_GENERIC
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOFLIPHW
  • DDERR_NOTFLIPPABLE
  • DDERR_SURFACEBUSY
  • DDERR_SURFACELOST
  • DDERR_UNSUPPORTED
  • DDERR_WASSTILLDRAWING

Hinweise

Bei IDirectDrawSurface7 besteht das Standardverhalten von Flip darin, auf den Abschluss des Accelerators zu warten. Daher gibt Flip unter Standardbedingungen nie DDERR_WASSTILLDRAWING zurück. Wenn Sie die Fehlercodes anzeigen und nicht warten möchten, bis der Umdrehvorgang erfolgreich ist, verwenden Sie das Flag DDFLIP_DONOTWAIT.

Flip kann nur für eine Oberfläche aufgerufen werden, die über die funktionen DDSCAPS_FLIP und DDSCAPS_FRONTBUFFER verfügt. Der zuvor dem Frontpuffer zugeordnete Anzeigespeicher ist dem Backpuffer zugeordnet.

Der parameter lpDDSurfaceTargetOverride wird in seltenen Fällen verwendet, in denen der Backpuffer nicht der Puffer ist, der zum Frontpuffer werden soll. In der Regel ist dieser Parameter NULL.

Flip wird immer mit dem vertikalen Leerzeichen synchronisiert. Wenn die Oberfläche einem Videoport zugewiesen wurde, aktualisiert diese Methode die sichtbare Überlagerungsoberfläche und die Zieloberfläche des Videoports.

Anforderungen

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

Weitere Informationen

IDirectDrawSurface7