VIDEOPARAMETERS 구조체(tvout.h)
비디오 미니포트 드라이버는 IOCTL 요청이 IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS 때 VIDEO_REQUEST_PACKETInputBuffer 멤버의 VIDEOPARAMETERS 구조에 대한 포인터를 받습니다. VIDEOPARAMETERS 구조의 dwCommand 멤버에 따라 미니포트 드라이버는 장치의 TV 커넥터 및 복사 보호 기능을 얻거나 설정해야 합니다.
구문
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(Globally Unique Identifier)를 지정합니다. 비디오 미니포트 드라이버는 구조를 처리하기 전에 구조체 시작 시 GUID를 확인해야 합니다.
dwOffset
예약되어 있으며 비디오 미니포트 드라이버에서 무시해야 합니다.
dwCommand
드라이버에서 수행할 작업을 나타냅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
VP_COMMAND_GET
미니포트 드라이버는 dwFlags 에서 적절한 플래그를 설정하고 해당 집합 플래그에 해당하는 멤버의 값을 설정하여 장치의 모든 TV 커넥터 기능, 현재 TV 커넥터 설정, 복사 보호 기능 및 현재 복사 보호 설정을 반환해야 합니다.
VP_COMMAND_SET
미니포트 드라이버는 tv 커넥터를 설정하고 dwFlags에 설정된 플래그에 해당하는 이 구조체의 멤버에 따라 보호 하드웨어를 복사해야 합니다.
dwFlags
이 구조체의 어떤 멤버가 유효한 데이터를 포함하는지 나타냅니다. dwCommand가 VP_COMMAND_GET 경우 드라이버는 유효한 데이터를 반환한 해당 멤버를 나타내기 위해 이 멤버의 적절한 비트를 설정해야 합니다. dwCommand가 VP_COMMAND_SET 경우 드라이버는 이 멤버에 설정된 비트에 해당하는 멤버의 값에 따라 하드웨어의 기능을 설정해야 합니다. 이 멤버는 다음 표의 첫 번째 열에 나열된 값의 비트 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 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 디스플레이에 가장 적합한 디스플레이 설정에 대해 설명합니다.
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
사용 가능한 모든 세계 TV 표준을 지정합니다. 이 멤버는 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
깜박임 필터 상태를 나타내는 백분율의 10분의 1 값입니다. 이 멤버는 [0,1000] 사이의 값일 수 있으며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwOverScanX
x에서 오버스캔의 양을 나타내는 백분율의 10분의 1 값입니다. 이 멤버는 [0,1000] 사이의 값일 수 있으며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwOverScanY
y에서 오버스캔의 양을 나타내는 백분율의 10분의 1 값입니다. 이 멤버는 [0,1000] 사이의 값일 수 있으며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwMaxUnscaledX
하드웨어가 비디오 이미지의 크기를 조정하지 않고도 TV가 표시할 수 있는 최대 x 해상도입니다. dwCommand가 VP_COMMAND_GET 경우 미니포트 드라이버는 이 멤버의 값을 설정해야 합니다. 이 멤버는 VP_COMMAND_SET 유효하지 않습니다.
dwMaxUnscaledY
하드웨어가 비디오 이미지의 크기를 조정하지 않고도 TV가 표시할 수 있는 최대 y 해상도입니다. dwCommand가 VP_COMMAND_GET 경우 미니포트 드라이버는 이 멤버의 값을 설정해야 합니다. 이 멤버는 VP_COMMAND_SET 유효하지 않습니다.
dwPositionX
TV에서 이미지의 현재 x 위치를 확인하기 위해 하드웨어에서 사용하는 값입니다. 이 멤버는 픽셀 단위로 지정되며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwPositionY
TV에서 이미지의 현재 y 위치를 결정하기 위해 하드웨어에서 사용하는 값입니다. 이 멤버는 검사 줄에 지정되며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwBrightness
TV의 밝기 설정을 나타내는 백분율 값입니다. 이 멤버는 [0,100] 사이의 값일 수 있으며 VP_COMMAND_GET 및 VP_COMMAND_SET 모두에 유효합니다.
dwContrast
TV의 대비 설정을 나타내는 백분율 값입니다. 이 멤버는 [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
복사 보호 유형을 사용할 수 있는 TV 표준입니다. 이 멤버는 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
드라이버의 이 instance 고유한 드라이버 생성 복사 보호 키입니다. 이 멤버는 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 명령에 모두 유효합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | tvout.h(Tvout.h 포함) |