DrvSynchronize

VOID DrvSynchronize(

    IN DHPDEV  dhpdev,
   IN RECTL  *prcl
  );

DrvSynchronize supports drawing operations by coordinating coprocessor operations with GDI.

Parameters

dhpdev

Identifies the device to be synchronized with GDI. This parameter is the device handle returned to GDI by DrvEnablePDEV.

prcl

If nonnull, this parameter specifies a rectangle on the surface that GDI will draw into. If this does not collide with the drawing operation in progress, the driver can elect to let GDI draw without waiting for the coprocessor to complete.

Comments

DrvSynchronize is not an output function, but 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 drawing on the surface.

This function is only called if hooked by EngAssociateSurface. GDI calls it just before drawing directly onto the device surface.

The function should return when it is safe for GDI to draw on the surface.

See Also

DrvEnablePDEV