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

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

Синтаксис

PDRIVER_IO_PORT_USHORT PdriverIoPortUshort;

VP_STATUS PdriverIoPortUshort(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data
)
{...}

Параметры

Context

Указывает определяемое драйвером мини-порта значение контекста, заданное в элементе EmulatorAccessEntriesContext VIDEO_PORT_CONFIG_INFO.

Port

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

AccessMode

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

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

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

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

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

Комментарии

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

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

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

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

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

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

Требования

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

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

EMULATOR_ACCESS_ENTRY

Функции SVGA

SvgaHwIoPortUshortString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts