структура 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) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по