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