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


структура EMULATOR_ACCESS_ENTRY (dispmprt.h)

Структура EMULATOR_ACCESS_ENTRY указывает элемент в массиве EmulatorAccessEntries , настроенный в структуре VIDEO_PORT_CONFIG_INFO драйверами адаптеров, совместимых с VGA (SVGA), на платформах операционных систем на основе NT на базе x86.

Синтаксис

typedef struct _EMULATOR_ACCESS_ENTRY {
  ULONG                     BasePort;
  ULONG                     NumConsecutivePorts;
  EMULATOR_PORT_ACCESS_TYPE AccessType;
  UCHAR                     AccessMode;
  UCHAR                     StringSupport;
  PVOID                     Routine;
} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;

Члены

BasePort

Указывает относительный физический адрес порта ввода-вывода или портов, которые будут подключены эмулятором V86. Это значение и диапазон портов должны находиться в диапазоне доступа к портам ввода-вывода, которые уже были запрошены в реестре VideoPortGetAccessRanges или VideoPortVerifyAccessRanges.

NumConsecutivePorts

Указывает количество последовательных портов, которые будут подключены эмулятором V86, начиная с BasePort. Это значение определяется шириной каждого подключенного порта ввода-вывода. Например, если адреса портов 0x3C0 и 0x3C1 подключены как один порт, адресуемый USHORT, это значение должно быть равно 1.

AccessType

Указывает размер данных, передаваемых через заданный порт ввода-вывода в виде Uchar, Ulong или Ushort.

AccessMode

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

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Диапазон портов ввода-вывода должен быть доступен по крайней мере в одном из предыдущих режимов.

StringSupport

Указывает, поддерживает ли предоставленная драйвером функция SvgaHwIoPortXxx доступ к строкам в случаях, когда многие значения заданного Типа AccessType "перекачиваются" через порт ввода-вывода последовательно. Если для этого элемента задано значение TRUE, элемент Routine должен указать точку входа для функции SvgaHwIoPortXxxString , предоставленной драйвером мини-порта.

Routine

Указатель на svgaHwIoPortXxx драйвера мини-порта, который обрабатывает доступ к порту или портам, описанным в этой структуре.

Комментарии

Совместимые с VGA драйверы мини-портов видеоконфигурации SVGA на компьютерах на базе x86 должны определять диапазоны доступа эмулятора, которые драйвер мини-порта, совместимый с VGA, может настроить с VideoPortSetTrappedEmulatorPorts для доступа непосредственно из полноэкранных приложений MS-DOS для ускорения операций ввода-вывода. Такой драйвер должен предоставлять набор функций SvgaHwIoPortXxx для проверки любой последовательности выданных приложением ins, INSB/INSW/INSDs, OUTs и /или OUTSB/OUTSB/OUTSW/OUTSDдля каждого такого диапазона портов ввода-вывода.

Данные в каждом элементе типа EMULATOR_ACCESS_ENTRY используются для определения того, какие порты ввода-вывода (расположения памяти, в которых доступны регистры адаптера) в диапазонах доступа драйвера мини-порта были переняты (подключены) эмулятором V86 на платформах x86. Значения, записанные в эти расположения полноэкранными приложениями MS-DOS, перехватываются и перенаправляются в соответствующую функцию SvgaHwIoPortXxxx драйвера мини-порта для проверки перед их записью в видеоадаптер или чтением из видеоадаптера. Однако драйвер минипорта может позволить приложению напрямую обращаться к определенным диапазонам портов ввода-вывода, вызывая VideoPortSetTrappedEmulatorPorts для повышения производительности.

Требования

Требование Значение
Заголовок dispmprt.h (включая Dispmprt.h)

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

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetAccessRanges

VideoPortSetTrappedEmulatorPorts

VideoPortVerifyAccessRanges