drvSynchronizeSurface 函数 (winddi.h)

DrvSynchronizeSurface 函数通知驱动程序 GDI 需要写入指定的图面。 此函数允许设备协处理器执行的绘图操作与 GDI 协调。

语法

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

参数

pso

指向 SURFOBJ 结构的指针,该结构标识要在其中进行绘图同步的图面。

prcl

指定表示 GDI 将绘制到的图面的 RECTL 结构,或 为 NULL。 如果这与正在进行的绘图操作不冲突,则驱动程序可以选择让 GDI 绘制,而无需等待协处理器完成。

fl

一个标志,指定 GDI 对其发出同步请求的事件。 此参数可能是以下值之一:

DSS_TIMER_EVENT

由于同步计时器事件,GDI 正在调用此函数。 计时器事件仅针对指定 DEVINFO 结构的GCAPS2_SYNCTIMER位的驱动程序生成。

DSS_FLUSH_EVENT

由于同步刷新事件,GDI 正在调用此函数。 仅为指定 DEVINFO 结构的GCAPS2_SYNCFLUSH位的驱动程序生成这些刷新事件。

返回值

备注

此函数允许设备协处理器执行的绘图操作与 GDI 协调。

可以选择在显示驱动程序中实现 DrvSynchronizeSurface。 仅当 EngAssociateSurface 挂钩时,GDI 才会调用此函数。 GDI 在直接绘制到设备图面之前调用 DrvSynchronizeSurface

DrvSynchronizeSurface 旨在支持使用协处理器进行绘制的设备。 此类设备可以启动长时间的绘制操作,并在操作继续时返回到 GDI。 如果设备驱动程序未对图面执行所有绘制操作,则 GDI 可能会处理后续绘制操作。 在这种情况下,GDI 必须等待协处理器完成其工作,然后 GDI 才能在图面上绘制。

当 GDI 在 prcl 指定的矩形区域内的图面上绘制是安全的时,此函数应返回 。

DrvSynchronizeSurface 本身不是输出函数。

要求

   
目标平台 桌面
标头 winddi.h (包括 Winddi.h)

另请参阅

DrvEnablePDEV

DrvSynchronize

EngAssociateSurface