VGA 兼容的微型端口驱动程序的 HwVidStartIO

当用户将全屏 MS-DOS 应用程序切换回在窗口中运行时,VGA 兼容微型端口驱动程序的 HwVidStartIO 函数将发送包含 I/O 控制代码的 VRP IOCTL_VIDEO_SAVE_HARDWARE_STATE。 微型端口驱动程序必须存储适配器的状态,以防用户再次将应用程序切换到全屏模式。

请注意,微型端口驱动程序的 SvgaHwIoPortXxx 函数可能在调用其 HwVidStartIO 函数以保存适配器状态时缓冲了一系列应用程序 IN和/或 OUT,如 SvgaHwIoPortXxx 中的验证指令中所述。 在这些情况下,微型端口驱动程序应保存当前状态(包括缓冲的指令),以便当用户将应用程序再次切换到全屏模式时, SvgaHwIoPortXxx 函数可以完全恢复其中断位置的验证操作。

微型端口驱动程序完成保存操作后,端口驱动程序会自动禁用 VDM的当前 IOPM 和微型端口驱动程序的 SvgaHwIoPortXxx 函数。 如果应用程序再次切换到全屏模式,视频端口驱动程序会自动还原 IOPM。 它还会继续调用微型端口驱动程序的 SvgaHwIoPortXxx 函数,在它使用IOCTL_VIDEO_RESTORE_HARDWARE_STATE请求调用微型端口驱动程序的 HwVidStartIO 函数。