Share via


DrvSynchronizeSurface-Funktion (winddi.h)

Die DrvSynchronizeSurface-Funktion informiert den Treiber darüber, dass GDI auf die angegebene Oberfläche schreiben muss. Mit dieser Funktion können Zeichnungsvorgänge, die vom Coprozessor eines Geräts ausgeführt werden, mit GDI koordiniert werden.

Syntax

void DrvSynchronizeSurface(
  SURFOBJ *pso,
  RECTL   *prcl,
  FLONG   fl
);

Parameter

pso

Zeiger auf eine SURFOBJ-Struktur , die die Oberfläche identifiziert, auf der die Zeichnungssynchronisierung erfolgen soll.

prcl

Gibt eine RECTL-Struktur an, die die Oberfläche darstellt, in die GDI gezeichnet wird, oder NULL. Wenn dies nicht mit dem laufenden Zeichnungsvorgang kollidiert, kann der Treiber entscheiden, GDI zeichnen zu lassen, ohne auf den Abschluss des Coprozessors zu warten.

fl

Ist ein Flag, das das Ereignis angibt, für das GDI die Synchronisierungsanforderung stellt. Dieser Parameter kann einer der folgenden Werte sein:

DSS_TIMER_EVENT

GDI ruft diese Funktion aufgrund eines Synchronisierungszeitgeberereignisses auf. Timerereignisse werden nur für die Treiber generiert, die das GCAPS2_SYNCTIMER Bit der DEVINFO-Struktur angeben.

DSS_FLUSH_EVENT

GDI ruft diese Funktion aufgrund eines Synchronisierungs flush-Ereignisses auf. Diese Leerungsereignisse werden nur für die Treiber generiert, die das GCAPS2_SYNCFLUSH Bit der DEVINFO-Struktur angeben.

Rückgabewert

Keine

Bemerkungen

Mit dieser Funktion können Zeichnungsvorgänge, die vom Coprozessor eines Geräts ausgeführt werden, mit GDI koordiniert werden.

DrvSynchronizeSurface kann optional in Anzeigetreibern implementiert werden. GDI ruft diese Funktion nur auf, wenn sie von EngAssociateSurface eingebunden ist. GDI ruft DrvSynchronizeSurface direkt vor dem Zeichnen direkt auf die Geräteoberfläche auf.

DrvSynchronizeSurface soll Geräte unterstützen, die einen Coprozessor zum Zeichnen verwenden. Ein solches Gerät kann einen langen Zeichnungsvorgang starten und zu GDI zurückkehren, während der Vorgang fortgesetzt wird. Wenn der Gerätetreiber nicht alle Zeichnungsvorgänge auf der Oberfläche ausführt, ist es möglich, dass ein nachfolgender Zeichnungsvorgang von GDI verarbeitet wird. In diesem Fall muss GDI warten, bis der Coprozessor seine Arbeit abgeschlossen hat, bevor GDI auf der Oberfläche zeichnen kann.

Diese Funktion sollte zurückgegeben werden, wenn es für GDI sicher ist, auf der Oberfläche innerhalb des durch prcl angegebenen rechteckigen Bereichs zu zeichnen.

DrvSynchronizeSurface ist selbst keine Ausgabefunktion.

Anforderungen

   
Zielplattform Desktop
Kopfzeile winddi.h (einschließlich Winddi.h)

Weitere Informationen

DrvEnablePDEV

DrvSynchronisieren

EngAssociateSurface