функция обратного вызова PDRIVER_IO_PORT_USHORT (video.h)
SvgaHwIoPortUshort перехватывает диапазон портов ввода-вывода, на который полноэкранное MS-DOS приложение на компьютере на основе x86 отправляет последовательность данных размера USHORT.
Синтаксис
PDRIVER_IO_PORT_USHORT PdriverIoPortUshort;
VP_STATUS PdriverIoPortUshort(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUSHORT Data
)
{...}
Параметры
Context
Указывает значение контекста, определяемое драйвером мини-порта, которое было задано в элементе EmulatorAccessEntriesContext элемента VIDEO_PORT_CONFIG_INFO.
Port
Указывает сопоставленный порт ввода-вывода для перехвата.
AccessMode
Указывает тип разрешенного доступа, который может быть одним или сочетанием (ORed) следующих значений:
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
Указатель на передаваемые данные USHORT.
Возвращаемое значение
SvgaHwIoPortUshort возвращает окончательное состояние операции.
Замечания
Только мини-драйверы адаптеров SVGA, совместимых с VGA, имеют функции SvgaHwIoPortXxx. (См. функции SVGA.)
SvgaHwIoPortUshort перехватывает любой доступ к диапазону, предпринятому полноэкранным MS-DOS приложением, выдаваемым либо как инструкции OUT DX, AX и IN AX, DX.
Если мини-драйвер включает диапазон порта для прямого доступа путем вызова VideoSetTrappedEmulatorPorts, ее функция SvgaHwIoPortUshort не будет вызываться. Затем такое приложение будет иметь прямой доступ к диапазону портов ввода-вывода, если драйвер мини-порта не отключает диапазон порта с другим вызовом VideoSetTrappedEmulatorPorts.
Если одна или несколько инструкций, выданных приложением x86 in или OUT, могут повлиять на состояние регистра последовательности адаптера, совместимого с VGA, разное выходное регистр или любой регистр, зависящий от адаптера, и, таким образом, вызвать зависание компьютера, драйвер минипорта должен не включить порт для прямого доступа путем вызова VideoPortSetTrappedEmulatorPorts.
SvgaHwIoPortUshort должен буферизать последующие инструкции из приложения и проверить, что компьютер не может зависнуть. Если приложение выдает любую последовательность инструкций, которые могут зависнуть на компьютере, SvgaHwIoPortUshort должны отменить буферные инструкции. В противном случае он должен выводить их, USHORT в определенный, сопоставленный порт ввода-вывода.
SvgaHwIoPortUshort должен быть доступен для страницы.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | video.h (include Video.h) |