структура 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) |