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)

另请参阅

IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS

VIDEO_REQUEST_PACKET