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