drvSynchronize 函数 (winddi.h)

DrvSynchronize 函数通知驱动程序 GDI 需要访问设备管理的表面。 此函数允许设备协处理器执行的异步绘制操作与 GDI 访问进行协调。

语法

void DrvSynchronize(
  DHPDEV dhpdev,
  RECTL  *prcl
);

参数

dhpdev

标识要与 GDI 同步的设备的物理设备的 PDEV 结构的句柄。 此参数是 DrvEnablePDEV 返回到 GDI 的设备句柄。

prcl

指向 RECTL 结构的指针。 驱动程序应忽略此参数。

返回值

备注

此函数允许设备协处理器执行的异步绘制操作与 GDI 访问进行协调。

DrvSynchronize 可以在显示驱动程序中选择性地实现。 仅当此函数由 EngAssociateSurface 挂钩时,GDI 才会调用此函数。 GDI 在直接绘制到设备图面之前调用 DrvSynchronize 。 GDI 将在实现这两个函数的驱动程序中调用 DrvSynchronizeSurface ,而不是 DrvSynchronize

仅当 GDI 能够安全地访问任何设备管理的表面时,此函数才应返回。 也就是说, DrvSynchronize 应延迟从调用返回,直到设备协处理器完成所有异步绘制操作,从而表明 GDI 可以访问任何设备管理的表面是安全的。

DrvSynchronize 旨在支持使用协处理器进行绘制的设备。 此类设备可以将某些绘图操作视为异步操作,在绘图完成之前从操作返回到 GDI。 如果是这种情况,则后续绘制操作可能由 GDI 处理。 为了使 GDI 能够安全地访问设备管理的表面,它必须具有确保设备协处理器完成的任何 异步渲染 的方法。 通过调用此函数,GDI 可将对设备管理的图面的访问与驱动程序同步。

GDI 永远不会为设备管理的表面调用 DrvSynchronizeDrvSynchronize 本身不是输出函数。

要求

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

另请参阅

DrvEnablePDEV

DrvSynchronizeSurface

EngAssociateSurface