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


Структура VIDEOPARAMETERS (tvout.h)

Драйвер видео минипорта получает указатель на структуру VIDEOPARAMETERS в элементе InputBufferVIDEO_REQUEST_PACKET , когда запрос IOCTL IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS. В зависимости от члена dwCommand структуры VIDEOPARAMETERS драйвер мини-порта должен получить или задать телевизионный соединитель и возможности защиты от копирования устройства.

Синтаксис

typedef struct _VIDEOPARAMETERS {
  GUID  Guid;
  ULONG dwOffset;
  ULONG dwCommand;
  ULONG dwFlags;
  ULONG dwMode;
  ULONG dwTVStandard;
  ULONG dwAvailableModes;
  ULONG dwAvailableTVStandard;
  ULONG dwFlickerFilter;
  ULONG dwOverScanX;
  ULONG dwOverScanY;
  ULONG dwMaxUnscaledX;
  ULONG dwMaxUnscaledY;
  ULONG dwPositionX;
  ULONG dwPositionY;
  ULONG dwBrightness;
  ULONG dwContrast;
  ULONG dwCPType;
  ULONG dwCPCommand;
  ULONG dwCPStandard;
  ULONG dwCPKey;
  ULONG bCP_APSTriggerBits;
  UCHAR bOEMCopyProtection[256];
} VIDEOPARAMETERS, *PVIDEOPARAMETERS, *LPVIDEOPARAMETERS;

Члены

Guid

Указывает глобальный уникальный идентификатор (GUID) для этой структуры {02C62061-1097-11d1-920F-00A024DF156E}. Драйвер видео минипорта должен проверить GUID в начале структуры перед обработкой структуры.

dwOffset

Зарезервировано и должно игнорироваться драйвером видео минипорта.

dwCommand

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

VP_COMMAND_GET

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

VP_COMMAND_SET

Драйвер мини-порта должен установить телевизионный соединитель и оборудование защиты от копирования в соответствии с элементами этой структуры, которые соответствуют флагам, установленным в dwFlags.

dwFlags

Указывает, какие элементы этой структуры содержат допустимые данные. Если dwCommand VP_COMMAND_GET, драйвер должен задать соответствующие биты в этом элементе, чтобы указать, в каких соответствующих членах он вернул допустимые данные. Если параметр dwCommand VP_COMMAND_SET, драйвер должен задать функциональность на оборудовании в соответствии со значениями в элементах, которые соответствуют битам, заданным в этом элементе. Этот элемент может быть побитовой ИЛИ значений, перечисленных в первом столбце следующей таблицы.

Flag Соответствующие элементы Команды
VP_FLAGS_BRIGHTNESS DwBrightness get/set
VP_FLAGS_CONTRAST dwContrast get/set
VP_FLAGS_COPYPROTECT dwCPType

dwCPCommand

dwCPStandard

dwCPKey

bCP_APSTriggerBits

bOEMCopyProtection

get/set

set

get

set

set

get/set

VP_FLAGS_FLICKER dwFlickerFilter get/set
VP_FLAGS_MAX_UNSCALED dwMaxUnscaledX

dwMaxUnscaledY

get

get

VP_FLAGS_OVERSCAN dwOverscanX

dwOverscanY

get/set

get/set

VP_FLAGS_POSITION dwPositionX

dwPositionY

get/set

get/set

VP_FLAGS_TV_MODE dwMode

dwAvailableModes

get/set

get

VP_FLAGS_TV_STANDARD dwTVStandard

dwAvailableTVStandard

get/set

get

dwMode

Указывает текущий режим воспроизведения. Этот член допустим для команд VP_COMMAND_SET и VP_COMMAND_GET и может иметь одно из следующих значений:

VP_MODE_TV_PLAYBACK

Описывает оптимальный набор полей для воспроизведения видео с отключенным фильтром мерцания и отображением.

VP_MODE_WIN_GRAPHICS

Описание параметров дисплея, которые являются оптимальными для отображения Windows, с максимальным фильтром мерцания и любым отображением overscan.

dwTVStandard

Является текущим мировым телевизионным стандартом. Этот член допустим для команд VP_COMMAND_SET и VP_COMMAND_GET и может иметь одно из следующих значений:

VP_TV_STANDARD_NTSC_M

VP_TV_STANDARD_NTSC_M_J

VP_TV_STANDARD_NTSC_433

VP_TV_STANDARD_PAL_B

VP_TV_STANDARD_PAL_D

VP_TV_STANDARD_PAL_G

VP_TV_STANDARD_PAL_H

VP_TV_STANDARD_PAL_I

VP_TV_STANDARD_PAL_M

VP_TV_STANDARD_PAL_N

VP_TV_STANDARD_PAL_60

VP_TV_STANDARD_SECAM_B

VP_TV_STANDARD_SECAM_D

VP_TV_STANDARD_SECAM_G

VP_TV_STANDARD_SECAM_H

VP_TV_STANDARD_SECAM_K

VP_TV_STANDARD_SECAM_K1

VP_TV_STANDARD_SECAM_L

VP_TV_STANDARD_SECAM_L1

VP_TV_STANDARD_WIN_VGA

dwAvailableModes

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

VP_MODE_TV_PLAYBACK

VP_MODE_WIN_GRAPHICS

dwAvailableTVStandard

Указывает все доступные мировые телевизионные стандарты. Этот элемент действителен только для команды VP_COMMAND_GET и может быть побитовой или следующих значений:

VP_TV_STANDARD_NTSC_M

VP_TV_STANDARD_NTSC_M_J

VP_TV_STANDARD_NTSC_433

VP_TV_STANDARD_PAL_B

VP_TV_STANDARD_PAL_D

VP_TV_STANDARD_PAL_G

VP_TV_STANDARD_PAL_H

VP_TV_STANDARD_PAL_I

VP_TV_STANDARD_PAL_M

VP_TV_STANDARD_PAL_N

VP_TV_STANDARD_PAL_60

VP_TV_STANDARD_SECAM_B

VP_TV_STANDARD_SECAM_D

VP_TV_STANDARD_SECAM_G

VP_TV_STANDARD_SECAM_H

VP_TV_STANDARD_SECAM_K

VP_TV_STANDARD_SECAM_K1

VP_TV_STANDARD_SECAM_L

VP_TV_STANDARD_SECAM_L1

VP_TV_STANDARD_WIN_VGA

dwFlickerFilter

Значение в десятых долях процента, указывающее состояние фильтра мерцания. Этот элемент может иметь значение в диапазоне от [01000] и является допустимым как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwOverScanX

Значение в десятых долях процента, указывающее количество превышения в x. Этот элемент может иметь значение в диапазоне от [01000] и является допустимым как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwOverScanY

Значение в десятых долях процента, указывающее количество превышения в y. Этот элемент может иметь значение в диапазоне от [01000] и является допустимым как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwMaxUnscaledX

Максимальное разрешение x , которое телевизор может отображать без аппаратного масштабирования видеоинима. Драйвер мини-порта должен задать значение в этом элементе, если dwCommand VP_COMMAND_GET. Этот элемент недопустим для VP_COMMAND_SET.

dwMaxUnscaledY

Максимальное разрешение y , которое телевизор может отображать без аппаратного масштабирования видеоинима. Драйвер мини-порта должен задать значение в этом элементе, если dwCommand VP_COMMAND_GET. Этот элемент недопустим для VP_COMMAND_SET.

dwPositionX

Значение, используемое оборудованием для определения текущего положения изображения на телевизоре. Этот элемент указывается в пикселях и действителен как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwPositionY

Значение, используемое оборудованием для определения текущего положения изображения на телевизоре по оси y . Этот элемент указывается в строках сканирования и действителен как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwBrightness

Процентное значение, указывающее параметры яркости на телевизоре. Этот элемент может быть значением в диапазоне от [0100], допустимым как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwContrast

Процентное значение, указывающее параметры контрастности на телевизоре. Этот элемент может быть значением в диапазоне от [0100], допустимым как для VP_COMMAND_GET, так и для VP_COMMAND_SET.

dwCPType

Указывает тип защиты от копирования, поддерживаемый устройством. Этот элемент действителен для команд VP_COMMAND_SET и VP_COMMAND_GET и может быть CP_TYPE_APS_TRIGGER.

dwCPCommand

Команда защиты от копирования. Этот элемент действителен только для команды VP_COMMAND_SET и может иметь одно из следующих значений:

VP_CP_CMD_ACTIVATE

Драйвер мини-порта должен включить защиту от копирования и создать и вернуть уникальный ключ защиты копирования в dwCPKey.

VP_CP_CMD_CHANGE

Если ключ защиты от копирования в dwCPKey действителен, драйвер мини-порта должен изменить защиту копирования на основе данных триггера в bCP_APSTriggerBits.

VP_CP_CMD_DEACTIVATE

Если ключ защиты от копирования в dwCPKey действителен, драйвер мини-порта должен отключить защиту от копирования.

dwCPStandard

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

VP_TV_STANDARD_NTSC_M

VP_TV_STANDARD_NTSC_M_J

VP_TV_STANDARD_NTSC_433

VP_TV_STANDARD_PAL_B

VP_TV_STANDARD_PAL_D

VP_TV_STANDARD_PAL_G

VP_TV_STANDARD_PAL_H

VP_TV_STANDARD_PAL_I

VP_TV_STANDARD_PAL_M

VP_TV_STANDARD_PAL_N

VP_TV_STANDARD_PAL_60

VP_TV_STANDARD_SECAM_B

VP_TV_STANDARD_SECAM_D

VP_TV_STANDARD_SECAM_G

VP_TV_STANDARD_SECAM_H

VP_TV_STANDARD_SECAM_K

VP_TV_STANDARD_SECAM_K1

VP_TV_STANDARD_SECAM_L

VP_TV_STANDARD_SECAM_L1

VP_TV_STANDARD_WIN_VGA

dwCPKey

Созданный драйвером ключ защиты от копирования, который является уникальным для данного экземпляра драйвера. Этот член действителен только для команды VP_COMMAND_SET. Драйвер мини-порта создает и возвращает этот ключ, если параметру dwCPCommand присвоено значение VP_CP_CMD_ACTIVATE. Вызывающий объект должен задать этот ключ, если поле dwCPCommand либо VP_CP_CMD_DEACTIVATE, либо VP_CP_CMD_CHANGE. Если вызывающий объект задает неправильный ключ, драйвер не должен изменять текущие параметры защиты от копирования.

bCP_APSTriggerBits

Указывает битовые данные триггера dvd-аналоговой системы защиты (APS). Допустимы биты ноль и 1. Этот член действителен только для команды VP_COMMAND_SET.

bOEMCopyProtection[256]

Данные защиты от копирования, относящиеся к изготовителю оборудования. Этот элемент действителен для команд VP_COMMAND_SET и VP_COMMAND_GET.

Требования

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

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

IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS

VIDEO_REQUEST_PACKET