структура VIDEO_MODE_INFORMATION (ntddvdeo.h)

Структура VIDEO_MODE_INFORMATION содержит все сведения об одном режиме видеоадаптера.

Синтаксис

typedef struct _VIDEO_MODE_INFORMATION {
  ULONG Length;
  ULONG ModeIndex;
  ULONG VisScreenWidth;
  ULONG VisScreenHeight;
  ULONG ScreenStride;
  ULONG NumberOfPlanes;
  ULONG BitsPerPlane;
  ULONG Frequency;
  ULONG XMillimeter;
  ULONG YMillimeter;
  ULONG NumberRedBits;
  ULONG NumberGreenBits;
  ULONG NumberBlueBits;
  ULONG RedMask;
  ULONG GreenMask;
  ULONG BlueMask;
  ULONG AttributeFlags;
  ULONG VideoMemoryBitmapWidth;
  ULONG VideoMemoryBitmapHeight;
  ULONG DriverSpecificAttributeFlags;
} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;

Члены

Length

Указывает длину (в байтах) этой структуры. Драйвер мини-порта может использовать это значение для определения версии этой структуры.

ModeIndex

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

VisScreenWidth

Указывает количество видимых пикселей в одной горизонтальной строке сканирования.

VisScreenHeight

Указывает количество видимых строк (или строк сканирования) на экране.

ScreenStride

Указывает количество байтов между началом одной строки сканирования и следующей.

NumberOfPlanes

Указывает количество отдельных плоскостей, объединенных устройством.

BitsPerPlane

Указывает количество битов на пиксель на плоскость.

Frequency

Указывает частоту обновления экрана в Hertz.

XMillimeter

Задает ширину активной области на устройстве вывода (в миллиметрах).

YMillimeter

Задает высоту активной области на устройстве вывода (в миллиметрах).

NumberRedBits

Указывает число битов в красном DAC.

NumberGreenBits

Указывает число битов в зеленом приложении уровня данных.

NumberBlueBits

Указывает число битов в синем приложении уровня данных.

RedMask

Маска красного цвета для устройства с прямыми цветовыми режимами. Например, чтобы указать, что для красного цвета используются биты от 0 до 4, используйте значение 0x001F.

GreenMask

Маска зеленого цвета для устройства с прямыми цветовыми режимами. Например, чтобы указать, что биты от 5 до 9 используются для зеленого цвета, используйте значение 0x03E0.

BlueMask

Синяя цветовая маска для устройства с прямыми цветовыми режимами. Например, чтобы указать, что биты от 10 до 14 используются для синего цвета, используйте значение 0x7C00.

AttributeFlags

Набор флагов, указывающих определенное поведение устройства. Флаги и их значения приведены в следующей таблице.

Имя флага Значение флага Битовое число Битовое значение и значение
VIDEO_MODE_COLOR 0x0001 0 0 = моно-совместимый
1 = цвет
VIDEO_MODE_GRAPHICS 0x0002 1 0 = текстовый режим
1 = графика
VIDEO_MODE_PALETTE_DRIVEN 0x0004 2 0 = цвета являются прямыми
1 = цвета индексируются в палитре
VIDEO_MODE_MANAGED_PALETTE 0x0008 3 0 = палитра является фиксированной (необходимо запрашивать из драйвера мини-порта)
1 = палитра настраивается
VIDEO_MODE_INTERLACED 0x0010 4 0 = режим без чересстроки
1 = режим с чередованием
VIDEO_MODE_NO_OFF_SCREEN 0x0020 5 0 = доступна внеэкранная память
1 = память вне экрана не может использоваться для хранения информации
VIDEO_MODE_NO_64_BIT_ACCESS 0x0040 6 0 = 64-разрядные операции записи в буфер кадров обрабатываются должным образом.
1 = 64-разрядные операции записи в буфер кадра не обрабатываются

VideoMemoryBitmapWidth

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

VideoMemoryBitmapHeight

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

DriverSpecificAttributeFlags

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

Комментарии

Драйвер видео минипорта возвращает массив VIDEO_MODE_INFORMATION структур в ответ на запрос IOCTL_VIDEO_QUERY_AVAIL_MODES , при этом каждая структура содержит сведения об одном режиме адаптера. Драйвер мини-порта возвращает одну VIDEO_MODE_INFORMATION структуру, которая содержит сведения о текущем режиме адаптера в ответ на запрос IOCTL_VIDEO_QUERY_CURRENT_MODE .

Три элемента VIDEO_MODE_INFORMATION, VisScreenWidth, VideoMemoryBitmapWidth и ScreenStride, связаны с горизонтальной шириной экрана. Для дисплеев, использующих один или несколько байтов на пиксель, эти элементы удовлетворяют неравенности.
VisScreenWidth<= VideoMemoryBitmapWidth<= ScreenStride.
В аналогичной связи для вертикальной высоты экрана VisScreenHeight и VideoMemoryBitmapHeight удовлетворяют неравенство
VisScreenHeight<= VideoMemoryBitmapHeight.

Требования

Требование Значение
Заголовок ntddvdeo.h (включая Ntddvdeo.h)

См. также раздел

IOCTL_VIDEO_QUERY_AVAIL_MODES

IOCTL_VIDEO_QUERY_CURRENT_MODE

VIDEO_MEMORY_INFORMATION