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


структура VIDEO_REQUEST_PACKET (video.h)

Указатель на структуру VIDEO_REQUEST_PACKET передается в функцию драйвера минипорта HwVidStartIO драйвером видеопорта. Драйвер видеопорта настраивает VRP из кода IRP (см. коды основных функций IRP) в ответ на вызов GDI EngDeviceIoControl. Как правило, соответствующий драйвер отображения вызывает EngDeviceIoControl, когда он нуждается в поддержке из пары драйверов видеопорта с мини-портом. Драйвер видеопорта вызывает минипорт-драйвер с VRP для обработки заданного запросаIOCTL_VIDEO_ XXX.

Синтаксис

typedef struct _VIDEO_REQUEST_PACKET {
  ULONG         IoControlCode;
  PSTATUS_BLOCK StatusBlock;
  PVOID         InputBuffer;
  ULONG         InputBufferLength;
  PVOID         OutputBuffer;
  ULONG         OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;

Члены

IoControlCode

Указывает значение IOCTL_VIDEO_XXX, переданное функции EngDeviceIoControl вызывающим объектом и отправленное драйверу порта видео в коде IRP. Дополнительные сведения о наборе системных IOCTL_VIDEO_XXX, которые должны поддерживаться драйверами минипорта, см. в коды элементов управления "Минипорт",.

StatusBlock

Указатель на структуру STATUS_BLOCK в VRP. StatusBlock заполняется минипорт-драйвером с возвращаемыми сведениями после завершения каждой виртуальной машины.

InputBuffer

Указатель на входной буфер, содержащий сведения, передаваемые вызывающим объектом. Структура данных зависит от значения IoControlCode. Этот элемент фактически указывает на тот же буфер, что и в OutputBuffer.

InputBufferLength

Задает размер входного буфера в байтах.

OutputBuffer

Указатель на выходной буфер, в который драйвер минипорта передает данные, возвращаемые вызывающей функции. Структура данных зависит от значения IoControlCode. Поскольку этот член указывает на тот же буфер, что и InputBuffer, мини-драйвер не должен записывать выходные данные в OutputBuffer, прежде чем он использовал все входные данные из InputBuffer.

OutputBufferLength

Задает размер в байтах выходного буфера. Минипорт-драйвер не может увеличить этот буфер. Мини-драйвер должен задать элемент statusStatusBlock с ERROR_INSUFFICIENT_BUFFER или ERROR_MORE_DATA, если указанный OutputBuffer слишком мал, чтобы содержать все возвращаемые сведения.

Требования

Требование Ценность
заголовка video.h (include Video.h)

См. также

HwVidStartIO

STATUS_BLOCK

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