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