video.h) (PVIDEO_HW_RESET_HW 回调函数

HwVidResetHw 将适配器重置为字符模式。

语法

PVIDEO_HW_RESET_HW PvideoHwResetHw;

BOOLEAN PvideoHwResetHw(
  PVOID HwDeviceExtension,
  ULONG Columns,
  ULONG Rows
)
{...}

参数

HwDeviceExtension

指向微型端口驱动程序的每个适配器存储区域的指针。 有关详细信息,请参阅 设备扩展

Columns

指定要设置的模式的列数。

Rows

指定要设置的模式的行数。

返回值

如果 HwVidResetHw 将适配器完全重置为给定字符模式,则应返回 TRUE。 否则,它应返回 FALSE ,以指示 HAL 应在 HwVidResetHw 返回控制权后执行等效的 INT10 MODE3 类型 BIOS 调用。

注解

如果视频微型端口驱动程序的适配器在没有计算机硬启动的情况下无法重置为完全初始化的状态,则必须具有 HwVidResetHw 函数。 例如,如果适配器的 ROM 初始化代码无法将适配器状态重置为启动模式,则微型端口驱动程序必须具有 HwVidResetHw 函数。 微型端口驱动程序必须实现此函数的另一个原因是,在适配器关闭电源时清理适配器的中断线,从而避免下次系统启动时出现大量中断。

如果系统即将崩溃,HAL 会调用 HwVidResetHw ,以便 HAL 可以在系统关闭时在屏幕上显示信息。 此调用可以在任何 IRQL 发生,并且驱动程序必须准备好随时处理它。 HAL 还会在发生软启动时重启计算机之前调用 HwVidResetHw

大多数微型端口驱动程序必须提供此功能,但收到 INT10 MODE3 类型命令时重置为 VGA 标准字符模式的适配器驱动程序除外。

HwVidResetHw 根据给定的 ColumnsRows 值将适配器重置为字符模式。 但是,由于系统正在关闭, HwVidResetHw 无法调用 BIOS 或任何可分页代码。 HwVidResetHw 应仅调用 VideoPortRead/WritePortXxx 和/或 VideoPortRead/WriteRegisterXxx 函数。 (查看视频端口 Driver.) 导出的函数

如果 HwVidResetHw 无法通过对适配器寄存器进行编程来更改适配器的模式,则它可以在适配器寄存器中设置适当的值并返回 FALSE。 这会导致 HAL 执行扩展的 INT10 类型操作,以将视频适配器重置为字符模式。

HwVidResetHw 不得调用 VideoPortInt10。 只要使用显示程序来测试或更改图形显示模式,而不是微型端口驱动程序的 HwVidResetHw 函数,则会使用 IOCTL_VIDEO_RESET_DEVICEVRP 调用微型端口驱动程序的 HwVidStartIO 函数来重置适配器。

不得使 HwVidResetHw 可分页。

要求

要求
目标平台 桌面
标头 video.h (包括 Video.h)

另请参阅

视频端口驱动程序导出的函数

HwVidInitialize

HwVidStartIO

IOCTL_VIDEO_RESET_DEVICE

VideoPortInt10