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


функция обратного вызова PVIDEO_HW_START_IO (video.h)

HwVidStartIO обрабатывает указанные VRP.

Синтаксис

PVIDEO_HW_START_IO PvideoHwStartIo;

BOOLEAN PvideoHwStartIo(
  PVOID HwDeviceExtension,
  PVIDEO_REQUEST_PACKET RequestPacket
)
{...}

Параметры

HwDeviceExtension

Указатель на область хранения минипорта для каждого адаптера. Дополнительные сведения см. в расширениях устройств.

RequestPacket

Указатель на структуру VIDEO_REQUEST_PACKET, которая содержит все параметры, которые первоначально передаются в EngDeviceIoControl.

Возвращаемое значение

HwVidStartIO должен возвращать TRUE, указывая, что он завершил запрос.

Замечания

Каждый драйвер минипорта видео должен иметь функцию HwVidStartIO.

Драйвер видеопорта вызывает HwVidStartIO в ответ на каждый запрос GDI EngDeviceIoControl, который возникает в соответствующем драйвере отображения. Когда вызывается HwVidStartIO, драйвер минипорта владеет пакетом входного видеозавершенного запроса, пока не завершит запрошенную операцию. HwVidStartIO должны выполнять следующие действия:

  1. Просмотрите элемент IoControlCodeVRP, чтобы определить операцию, запрашиваемую драйвером отображения.
  2. Убедитесь, что inputBufferLength и/или OutputBufferLength указывает буфер, достаточно большой для удовлетворения запроса. Драйвер минипорта должен вернуть ошибку, если любой буфер слишком мал.
  3. Удовлетворить запрос.
  4. Задайте состояния и сведений в VRP и верните TRUE.
Системный драйвер видеопорта сериализует все запросы. Минипорт-драйвер не должен выполнять сериализацию собственного, если он не имеет функции HwVidInterrupt.

Однако каждая функция драйвера минипорта HwVidStartIO должна завершить каждую запрошенную операцию или задать соответствующую ошибку в StatusBlock VRP перед возвратом элемента управления.

HwVidStartIO должны быть доступны для страниц.

Требования

Требование Ценность
целевая платформа Настольный
заголовка video.h (include Video.h)

См. также

VIDEO_REQUEST_PACKET

коды элементов управления "Минипорт видео"

VideoPortSynchronizeExecution