编写设备驱动程序

VIS_CONSCOPY

VIS_CONSCOPY ioctl 命令可将像素矩形区从一个位置复制到另一个位置。该 ioctl 的用途之一就是执行滚动。

要在控制台帧缓存器驱动程序中实现 VIS_CONSCOPY ioctl 命令,请按照下面的通用步骤操作:

  1. 复制 vis_conscopy 结构。vis_conscopy 结构描述源和目标矩形大小与位置。

  2. 验证显示参数。如果任一显示参数超出范围,则会返回错误。

  3. 使所有用户上下文无效,以使用户应用程序不能通过用户内存映射同时访问帧缓存器硬件。在轮询式 I/O 模式下,既不允许也没有必要执行此步骤,因为用户应用程序并没有运行。请务必持有锁,以便在完成 VIS_CONSDISPLAY ioctl 之前,用户无法通过缺页恢复映射。

  4. 调用函数以复制矩形。


    注 –

    为实现最佳性能,请使用图形设备的呈现引擎来实现复制功能。您需要确定如何执行驱动程序内的上下文管理以设置呈现引擎,从而实现最佳性能。