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 永远不会为设备管理的表面调用 DrvSynchronize 。 DrvSynchronize 本身不是输出函数。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winddi.h (包括 Winddi.h) |