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)

另请参阅

SURFOBJ