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


Обмен данными ioCTL с видеодрайдером минипорта

На следующем рисунке показано, как драйвер дисплея взаимодействует с видеодрайдером минипорта с помощью ioCTL.

Схема, иллюстрирующая взаимодействие между видеодрайдером и видеодрайдером минипорта с помощью IOCTL.

Драйвер дисплея вызывает EngDeviceIoControl с IOCTL для отправки синхронного запроса к видеодрайверу минипорта. GDI использует один буфер для входных и выходных данных для передачи запроса в подсистему ввода-вывода. Подсистема ввода-вывода направляет запрос к видеопорту, который обрабатывает запрос с помощью драйвера видео минипорта.

Для некоторых запросов IOCTL требуется, чтобы драйвер минипорта мог получить доступ к регистрам видео, а другие хранят или извлекают информацию из структур данных драйвера минипорта. Как правило, для выполнения фактических операций рисования драйвер видео минипорта не требуется.

Как правило, и если модульность не диктует иное, драйвер дисплея обрабатывает операции рисования и другие критические по времени операции. Отправка IOCTL драйверу мини-порта для выполнения критически важной по времени функции может снизить производительность системы.

Описание определяемых системой видео IOCTL см. в разделе Коды управления вводом-выводом драйвера видео miniport . Вы можете расширить интерфейс между видеодрайдером и драйвером минипорта видео, добавив частный IOCTL, который должен быть отформатирован, как описано в разделе Определение кодов управления вводом-выводом. Если вам нужно написать новый IOCTL, сначала обратитесь в службу технической поддержки Майкрософт.