VIDEOPARAMETERS 结构 (tvout.h)
当 IOCTL 请求IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS时,视频微型端口驱动程序接收指向VIDEO_REQUEST_PACKET的 InputBuffer 成员中的 VIDEOPARAMETERS 结构的指针。 根据 VIDEOPARAMETERS 结构的 dwCommand 成员,微型端口驱动程序应获取或设置设备的电视连接器和复制保护功能。
语法
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
指定此结构 {02C62061-1097-11d1-920F-00A024DF156E} 的全局唯一标识符 (GUID) 。 在处理结构之前,视频微型端口驱动程序必须在结构开头验证 GUID。
dwOffset
是保留的,应被视频微型端口驱动程序忽略。
dwCommand
指示驱动程序要执行的操作。 此成员可以是以下值之一:
VP_COMMAND_GET
微型端口驱动程序应返回设备的所有电视连接器功能、当前电视连接器设置、复制保护功能和当前复制保护设置,方法是在 dwFlags 中设置相应的标志,并设置与这些设置标志对应的成员的值。
VP_COMMAND_SET
微型端口驱动程序应根据此结构的成员(对应于 dwFlags 中设置的标志)设置电视连接器和复制保护硬件。
dwFlags
指示此结构的哪些成员包含有效数据。 当 dwCommand VP_COMMAND_GET时,驱动程序应在此成员中设置适当的位,以指示它已返回有效数据的对应成员。 VP_COMMAND_SET dwCommand 时,驱动程序应根据成员中与该成员中设置的位对应的成员中的值设置硬件上的功能。 此成员可以是下表第一列中列出的值的按位 OR。
标志 | 相应的成员 | 命令 |
---|---|---|
VP_FLAGS_BRIGHTNESS | dwBrightness | get/set |
VP_FLAGS_CONTRAST | dwContrast | get/set |
VP_FLAGS_COPYPROTECT |
dwCPType
dwCPCommand dwCPStandard dwCPKey bCP_APSTriggerBits bOEMCopyProtection |
get/set 设置 get 设置 设置 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 显示器的显示设置,并打开最大闪烁筛选器并关闭任何过度扫描显示。
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 命令有效,可以是以下值的按位 OR:
VP_MODE_TV_PLAYBACK
VP_MODE_WIN_GRAPHICS
dwAvailableTVStandard
指定所有可用的世界电视标准。 此成员仅对 VP_COMMAND_GET 命令有效,可以是以下值的按位 OR:
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
以百分比的十分之一为单位的值,指示闪烁筛选器状态。 此成员可以是介于 [0,1000] 之间的值,并且对 VP_COMMAND_GET 和 VP_COMMAND_SET 有效。
dwOverScanX
以百分比的十分之一为单位的值,指示 x 中的过度扫描量。 此成员可以是介于 [0,1000] 之间的值,并且对 VP_COMMAND_GET 和 VP_COMMAND_SET 有效。
dwOverScanY
以百分比的十分之一为单位的值,指示 以 y 为单位的过度扫描量。 此成员可以是介于 [0,1000] 之间的值,并且对 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
硬件用于确定电视上图像的当前 x 位置的值。 此成员以像素为单位指定,对VP_COMMAND_GET和VP_COMMAND_SET均有效。
dwPositionY
硬件用于确定电视上图像的当前 y 位置的值。 此成员在扫描行中指定,对VP_COMMAND_GET和VP_COMMAND_SET均有效。
dwBrightness
指示电视亮度设置的百分比值。 此成员可以是介于 [0,100] 之间的值,并且对 VP_COMMAND_GET 和 VP_COMMAND_SET 有效。
dwContrast
指示电视上的对比度设置的百分比值。 此成员可以是介于 [0,100] 之间的值,并且对 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 命令有效,可以是以下值的按位 OR:
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) 触发位数据。 位 0 和 1 有效。 此成员仅对 VP_COMMAND_SET 命令有效。
bOEMCopyProtection[256]
特定于 OEM 的复制保护数据。 此成员对 VP_COMMAND_SET 和 VP_COMMAND_GET 命令都有效。
要求
要求 | 值 |
---|---|
Header | tvout.h (包括 Tvout.h) |