структура EMULATOR_ACCESS_ENTRY (miniport.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

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

Routine

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

Комментарии

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

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

Требования

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

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

VIDEO_PORT_CONFIG_INFO

VideoPortVerifyAccessRanges

VideoPortSetTrappedEmulatorPorts

VIDEO_ACCESS_RANGE

VideoPortGetAccessRanges