функция обратного вызова PDRIVER_IO_PORT_UCHAR_STRING (video.h)
SvgaHwIoPortUcharString перехватывает порт ввода-вывода, на который полноэкранное приложение MS-DOS на компьютере с архитектурой x86 отправляет последовательность данных размера UCHAR.
Синтаксис
PDRIVER_IO_PORT_UCHAR_STRING PdriverIoPortUcharString;
VP_STATUS PdriverIoPortUcharString(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUCHAR Data,
ULONG DataLength
)
{...}
Параметры
Context
Указывает определяемое драйвером мини-порта значение контекста, заданное в элементе EmulatorAccessEntriesContext VIDEO_PORT_CONFIG_INFO.
Port
Указывает сопоставленный порт ввода-вывода.
AccessMode
Указывает тип разрешенного доступа, который может быть одним или сочетанием (ORed) следующих значений:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Указатель на передаваемую строку UCHAR. Один символ за раз подключается до тех пор, пока не будет передана вся строка.
DataLength
Указывает количество значений UCHAR в строке.
Возвращаемое значение
SvgaHwIoPortUcharString возвращает окончательное состояние операции.
Комментарии
Функции SvgaHwIoPortXxx имеют только драйверы минипортов адаптеров SVGA, совместимых с VGA. (См. раздел Функции SVGA.)
SvgaHwIoPortUcharString перехватывает любой байтовый доступ, предпринятый полноэкранным приложением MS-DOS, выдающим инструкции REP OUTSB DX, ESI и REP INSB EDI, DX.
Если драйвер мини-порта включает порт для прямого доступа путем вызова VideoSetTrappedEmulatorPorts, его функция SvgaHwIoPortUcharString вызываться не будет. Такое приложение будет иметь прямой доступ к порту ввода-вывода, если драйвер мини-порта не отключит порт с помощью другого вызова VideoSetTrappedEmulatorPorts.
Если одна или несколько инструкций, выданных приложением x86 INSB или OUTSB , могут повлиять на состояние регистра последовательности адаптера, совместимого с VGA, другого выходного регистра или любого регистра, относящегося к адаптеру, и, таким образом, вызывает зависание компьютера, драйвер мини-порта не должен включать порт для прямого доступа путем вызова VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUcharString должен помещать в буфер последующие инструкции из приложения и проверка, что ни один из них не может зависнуть на компьютере. Если приложение выдает любую последовательность инструкций, которые могут зависнуть на компьютере, SvgaHwIoPortUcharString должен отменить буферизированные инструкции. В противном случае он должен выводить их( UCHAR за раз) в указанный сопоставленный порт ввода-вывода.
SvgaHwIoPortUcharString следует сделать страничной.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | video.h (включая Video.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по