The DrvSynchronizeSurface function informs the driver that GDI needs to write to the specified surface. This function allows drawing operations performed by a device's coprocessor to be coordinated with GDI.
VOID
DrvSynchronizeSurface(
IN SURFOBJ *pso,
IN RECTL *prcl,
IN FLONG fl
);
Declared in winddi.h. Include winddi.h.
This function allows drawing operations performed by a device's coprocessor to be coordinated with GDI.
DrvSynchronizeSurface can be optionally implemented in display drivers. GDI calls this function only if it is hooked by EngAssociateSurface. GDI calls DrvSynchronizeSurface just before drawing directly onto the device surface.
DrvSynchronizeSurface is intended to support devices that use a coprocessor for drawing. Such a device can start a long drawing operation and return to GDI while the operation continues. If the device driver does not perform all drawing operations to the surface, it is possible that a subsequent drawing operation will be handled by GDI. In this case, it is necessary for GDI to wait for the coprocessor to complete its work before GDI can draw on the surface.
This function should return when it is safe for GDI to draw on the surface within the rectangular region specified by prcl.
DrvSynchronizeSurface is not itself an output function.