функция обратного вызова PDRIVER_IO_PORT_UCHAR (video.h)

SvgaHwIoPortUchar перехватывает порт ввода-вывода, на который полноэкранное приложение MS-DOS на компьютере x86 отправляет данные размера UCHAR.

Синтаксис

PDRIVER_IO_PORT_UCHAR PdriverIoPortUchar;

VP_STATUS PdriverIoPortUchar(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUCHAR Data
)
{...}

Параметры

Context

Задает определяемое драйвером мини-порта значение контекста, заданное в элементе EmulatorAccessEntriesContextVIDEO_PORT_CONFIG_INFO.

Port

Указывает сопоставленный порт ввода-вывода для перехвата.

AccessMode

Указывает тип перехватываемого доступа, который может быть одним или сочетанием (ORed) следующих значений:

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

Указатель на передаваемый байт.

Возвращаемое значение

SvgaHwIoPortUchar возвращает окончательное состояние операции.

Комментарии

Функции SvgaHwIoPortXxx поддерживают только драйверы минипортов адаптеров SVGA, совместимых с VGA. (См. раздел Функции SVGA.)

SvgaHwIoPortUchar перехватывает любой доступ к байтам, предпринятый полноэкранным приложением MS-DOS, выдавая инструкции OUT DX, AL и IN AL, DX.

Если драйвер мини-порта включает порт для прямого доступа путем вызова VideoPortSetTrappedEmulatorPorts, его функция SvgaHwIoPortUchar вызываться не будет. Такое приложение будет иметь прямой доступ к порту, если драйвер мини-порта не отключит порт с помощью другого вызова VideoPortSetTrappedEmulatorPorts.

Если одна или несколько инструкций x86 IN или OUT , выданных приложением, могут повлиять на состояние регистра последовательности адаптера, совместимого с VGA, другого выходного регистра или любого регистра адаптера и, таким образом, вызвать зависание компьютера, драйвер мини-порта не должен включать порт для прямого доступа путем вызова VideoPortSetTrappedEmulatorPorts.

SvgaHwIoPortUchar должен буферизуть последующие инструкции из приложения в порт и проверка, что никто не может повесить компьютер. Если приложение выдает какую-либо последовательность инструкций, которые могут зависнуть на компьютере, SvgaHwIoPortUchar должен отменить буферизированные инструкции. В противном случае он должен выводить их( UCHAR за раз) в указанный сопоставленный порт ввода-вывода.

SvgaHwIoPortUchar должен быть доступным для страниц.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть video.h (включить Video.h)

См. также раздел

EMULATOR_ACCESS_ENTRY

Функции SVGA

SvgaHwIoPortUcharString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts