Поделиться через


функция обратного вызова 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 возвращает окончательное состояние операции.

Замечания

Только мини-драйверы адаптеров SVGA, совместимых с VGA, имеют функции SvgaHwIoPortXxx. (См. функции 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 (include Video.h)

См. также

EMULATOR_ACCESS_ENTRY

функции SVGA

SvgaHwIoPortUchar

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts