drvSaveScreenBits 函数 (winddi.h)
DrvSaveScreenBits 函数会导致显示驱动程序保存或还原所显示图像的给定矩形。
语法
ULONG_PTR DrvSaveScreenBits(
SURFOBJ *pso,
ULONG iMode,
ULONG_PTR ident,
RECTL *prcl
);
参数
pso
指向描述表面的 SURFOBJ 结构的指针。
iMode
指定要执行的操作。 此参数可能是以下值之一:
SS_SAVE
驱动程序应保存 由 prcl 定义的矩形中的数据。 驱动程序负责管理 屏幕外内存中的此数据。 将忽略 ident 参数。
成功后, DrvSaveScreenBits 应返回已保存数据的标识符。 驱动程序可以返回句柄甚至指向其屏幕外内存的指针。 如果失败,此函数返回零。
SS_RESTORE
驱动程序应将 ident 标识的数据还原到显示器上的矩形 prcl ;也就是说,驱动程序应将位图还原到其原始位置。 驱动程序可以假定 prcl 处的矩形大小与保存的矩形完全相同。 此调用后应丢弃数据。
如果数据已还原到显示器,DrvSaveScreenBits 应返回 TRUE;如果无法还原数据,则返回 FALSE。
SS_FREE
不再需要 ident 标识的数据,并且可以释放。 prcl 的值未定义,不应使用。 驱动程序不应将保存的矩形还原到显示器。
DrvSaveScreenBits 应返回 TRUE。
ident
指向驱动程序定义的值的指针,如果 iMode 是SS_RESTORE或SS_FREE,则之前对 DrvSaveScreenBits 的调用返回。 SS_SAVE iMode 时,驱动程序应忽略此参数。
prcl
指向 RECTL 结构的指针,该结构定义要保存或还原的屏幕部分。
返回值
返回值取决于 iMode 参数的值。
注解
某些显示驱动程序可能能够将数据移进或移出屏幕外设备内存,比重绘区域快得多。 当窗口管理器必须显示菜单或对话框时,这可能很有用。
对于显示驱动程序,DrvSaveScreenBits 是可选的。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winddi.h (包括 Winddi.h) |