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) |