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


структура 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

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

XMillimeter

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

YMillimeter

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

NumberRedBits

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

NumberGreenBits

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

NumberBlueBits

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

RedMask

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

GreenMask

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

BlueMask

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

AttributeFlags

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

имя флага значение флага битовое число битовое значение и значение
VIDEO_MODE_COLOR 0x0001 0 0 = Mono-совместимый
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 (include Ntddvdeo.h)

См. также

IOCTL_VIDEO_QUERY_AVAIL_MODES

IOCTL_VIDEO_QUERY_CURRENT_MODE

VIDEO_MEMORY_INFORMATION