функция обратного вызова PVIDEO_HW_RESET_HW (video.h)
HwVidResetHw сбрасывает адаптер в символьный режим.
Синтаксис
PVIDEO_HW_RESET_HW PvideoHwResetHw;
BOOLEAN PvideoHwResetHw(
PVOID HwDeviceExtension,
ULONG Columns,
ULONG Rows
)
{...}
Параметры
HwDeviceExtension
Указатель на область хранения для каждого адаптера драйвера мини-порта. Дополнительные сведения см. в разделе Расширения устройств.
Columns
Указывает количество столбцов настраиваемого режима.
Rows
Указывает количество строк настраиваемого режима.
Возвращаемое значение
HwVidResetHw должен возвращатьзначение TRUE , если он полностью сбрасывает адаптер в заданный символьный режим. В противном случае он должен вернуть значение FALSE , чтобы указать, что HAL должен выполнять эквивалент вызова BIOS типа INT10, MODE3 после того, как HwVidResetHw возвращает управление.
Комментарии
Драйвер видео минипорта должен иметь функцию HwVidResetHw , если его адаптер не может быть сброшен в полностью инициализированное состояние без жесткой загрузки компьютера. Например, если код инициализации ПЗУ адаптера не может сбросить состояние адаптера в режим загрузки, драйвер мини-порта должен иметь функцию HwVidResetHw . Еще одна причина, по которой драйвер минипорта должен реализовать эту функцию, заключается в очистке линий прерываний адаптера при выключении адаптера, что позволяет избежать переполнения при следующей загрузке системы.
HAL вызывает HwVidResetHw , если система вот-вот сбой, чтобы HAL отображал информацию на экране во время завершения работы системы. Этот вызов может выполняться в любом IRQL, и драйвер должен быть готов к его обработке в любое время. Hal также вызывает HwVidResetHw непосредственно перед перезагрузкой компьютера при мягкой загрузке.
Большинство драйверов минипорта должны предоставлять эту функцию, за исключением драйверов адаптеров, которые сбрасываются в стандартный символьный режим VGA при получении команды INT10, MODE3.
HwVidResetHw сбрасывает адаптер в символьный режим в соответствии с заданными значениямиColumns и Rows. Однако, поскольку система завершает работу, HwVidResetHw не может вызывать BIOS или любой страничный код. HwVidResetHw должен вызывать только функции VideoPortRead/WritePortXxx и/или VideoPortRead/WriteRegisterXxx . (См . раздел Функции, экспортированные драйвером видеопорта.)
Если HwVidResetHw не может изменить режим адаптера путем простого программирования регистров адаптера, он может настроить соответствующие значения в регистрах адаптера и вернуть значение FALSE. Это приводит к тому, что HAL выполняет расширенную операцию типа INT10 для сброса видеоадаптера в символьный режим.
HwVidResetHw не должен вызывать VideoPortInt10. Функция HwVidStartIO драйвера мини-порта вызывается с IOCTL_VIDEO_RESET_DEVICEVRP для сброса адаптера всякий раз, когда программа display используется для тестирования или изменения режима отображения графики, а не функция HwVidResetHw драйвера минипорта.
HwVidResetHw нельзя сделать страничной.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | video.h (включить Video.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по