TV 커넥터 및 복사 보호 하드웨어 쿼리

TV 커넥터가 있는 어댑터용 비디오 미니포트 드라이버는 HwVidStartIO 함수에서 IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS 요청을 처리해야 합니다. IOCTL 요청이 IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS 경우 VIDEO_REQUEST_PACKET 구조체의 InputBuffer 멤버는 VIDEOPARAMETERS 구조를 가리킵니다. 해당 VIDEOPARAMETERS 구조의 dwCommand 멤버는 미니포트 드라이버가 TV 커넥터(VP_COMMAND_GET)에 대한 정보를 제공해야 하는지 또는 TV 커넥터(VP_COMMAND_SET)에 지정된 설정을 적용해야 하는지 여부를 지정합니다.

VIDEOPARAMETERS 구조체의 dwCommand 멤버가 VP_COMMAND_GET 경우 미니포트 드라이버는 다음을 수행해야 합니다.

  • VIDEOPARAMETERS 구조체의 Guid 멤버를 확인합니다.

  • TV 커넥터가 지원하는 각 기능에 대해 VIDEOPARAMETERS 구조체의 dwFlags 멤버에서 해당 플래그를 설정합니다.

  • dwFlags 멤버에 설정된 각 플래그에 대해 VIDEOPARAMETERS 구조체의 해당 멤버에 값을 할당하여 해당 플래그와 연결된 기능 및 현재 설정을 나타냅니다. 지정된 플래그에 해당하는 구조체 멤버 목록은 VIDEOPARAMETERS 참조 페이지를 참조하세요.

VIDEOPARAMETERS 구조체의 dwMode 멤버는 TV 출력이 비디오 재생에 최적화되어 있는지 또는 Windows 데스크톱을 표시할 수 있는지를 지정합니다. VIDEO_MODE_TV_PLAYBACK 값은 TV 출력이 비디오 재생에 최적화되도록 지정합니다(즉, 깜박임 필터를 사용하지 않도록 설정하고 오버스캔을 사용하도록 설정됨). VIDEO_MODE_WIN_GRAPHICS 값은 TV 출력이 Windows 그래픽에 최적화되도록 지정합니다(즉, 최대 깜박임 필터를 사용하고 오버스캔을 사용하지 않도록 설정됨).

VP_COMMAND_GET 대한 응답으로 미니포트 드라이버는 dwFlags 에서 VP_FLAGS_TV_MODE 플래그를 설정하고 dwAvailableModes에서 VP_MODE_WIN_GRAPHICS 비트를 설정해야 합니다. dwAvailableModes에서 VP_MODE_TV_PLAYBACK 비트를 설정하는 것은 선택 사항입니다. 또한 미니포트 드라이버는 dwFlags 에서 VP_FLAGS_MAX_UNSCALED 플래그를 설정해야 하며 VIDEOPARAMETERS 구조체의 해당 멤버에 값을 할당해야 합니다.

VP_COMMAND_GET 대한 응답으로 TV 출력이 현재 비활성화된 경우 미니포트 드라이버는 dwMode 를 0으로 설정하고, dwTVStandard 를 VP_STANDARD_WIN_VGA 설정하고, dwAvailableTVStandard 를 VP_STANDARD_WIN_VGA 설정해야 합니다.

예제 1: 어댑터는 현재 사용하지 않도록 설정된 TV 출력을 지원합니다. 미니포트 드라이버는 VP_COMMAND_GET 대한 응답으로 다음을 수행해야 합니다.

  • dwFlags에서 tv 커넥터에서 지원하는 기능을 나타내는 VP_FLAGS_TV_MODE, VP_FLAGS_TV_STANDARD 및 기타 모든 플래그를 설정합니다.

  • dwMode를 0으로 설정합니다.

  • dwAvailableModes에서 VP_MODE_WIN_GRAPHICS 설정합니다. 하드웨어에서 VP_MODE_TV_PLAYBACK 지원하는 경우 해당 비트도 설정합니다.

  • dwTVStandard를 VP_TV_STANDARD_WIN_VGA 설정합니다.

  • dwAvailableTVStandard에서 TV 커넥터에서 지원하는 TV 표준을 나타내는 모든 비트를 설정합니다.

  • dwFlags에 설정된 모든 플래그(이미 설명된 VP_FLAGS_TV_MODE 및 VP_FLAGS_TV_STANDARD 이외의)에 대해 VIDEOPARAMETERS 구조체의 해당 멤버에 값을 할당합니다.

예제 2: TV 출력을 사용하도록 설정하려면 호출자(미니포트 드라이버 아님)가 다음을 수행해야 합니다.

  • dwFlags에서 VP_FLAGS_TV_MODE 설정하고 VP_FLAGS_TV_STANDARD. 다른 모든 플래그를 지웁다.

  • dwMode를 VP_MODE_WIN_GRAPHICS 또는 VP_MODE_TV_PLAYBACK 설정합니다. 두 비트를 모두 설정하지 마세요.

  • dwTvStandard를 원하는 표준(예: VP_TV_STANDARD_NTSC_M)으로 설정합니다. dwTvStandard에서 다른 비트를 설정하지 마세요.

예제 3: TV 출력을 사용하지 않도록 설정하려면 호출자(미니포트 드라이버 아님)가 다음을 수행해야 합니다.

  • dwFlags에서 VP_FLAGS_TV_MODE 설정하고 VP_FLAGS_TV_STANDARD. 다른 모든 플래그를 지웁다.

  • dwMode를 0으로 설정합니다.

  • dwTvStandard에서 VP_TV_STANDARD_WIN_VGA 설정합니다. dwTvStandard의 다른 모든 비트를 지웁니다.