DirectShow DirectShow 레퍼런스 인터페이스 IDirectDrawVideo   [목차열람] [주소복사] [슬롯비우기]
IDirectDrawVideo 인터페이스
 
Microsoft DirectX 9.0

IDirectDrawVideo 인터페이스

IDirectDrawVideo 인터페이스는비디오 렌더러에 처리 되어DirectDraw 표면와 하드웨어 능력에 관한 정보를 애플리케이션에 제공한다. 애플리케이션은 이 인터페이스를 사용해, 비디오 렌더러가 이용하는 DirectDraw 기능을 제어한다. 예를 들어, 비디오 렌더러로 하드웨어 오버레이를 이용하지 않는 것이 확실하면,SetSwitches 메서드를 사용해, 하드웨어 오버레이의 사용을 무효로 할 수 있다.

:   이 인터페이스를 사용해, 비디오 렌더러에 DirectDraw 의 특정의 기능을 강제적으로 사용하게 할 수 없다. 가능한 것은, 비디오 렌더러가 특정의 기능을 사용하지 않게 하는 것 뿐이다.

이 인터페이스는, 일부가 IDirectDraw 인터페이스와 중복 한다. 다만, 이 인터페이스에서는, DirectDraw 프로바이더를 직접 호출하지 않아도, 목적의 정보에 간단하게 액세스 할 수 있다.

비디오 렌더러는 접속될 때까지 DirectDraw 를 로드하지 않고, 같이 DirectDraw 는 렌더러의 접속이 절단 될 때까지 언로드되지 않는다. 렌더러가 비디오 재생에 사용하는 DirectDraw 표면을 할당하면 애플리케이션은 그 표면을 기술하는 DDSURFACEDESC 구조체를 취득할 수 있다. 렌더러는 DDSURFACEDESC 구조체의 포인터를 건네주는 것에 의해, 현재의 표면에 관한 상세한 데이터를 구조체에 저장 한다. DirectDraw 가 로드되지 않은 경우, 렌더러는 E_FAIL 를 돌려준다. 렌더러가 DCI (DirectDraw 의 전의 버전)를 사용하고 있는 경우,DDSURFACEDESC 구조체에 데이터는 저장 되지 않고, 호출은 S_FALSE 를 돌려준다. 렌더러가 사용하는 DCI 표면의 타입은, 1차 표면에 한정된다.

IDirectDrawVideo 인터페이스는,IUnknown 로부터 계승하는 메서드 이외에 이하의 메서드도 공개한다.

메서드 설명
CanUseOverlayStretch 렌더러가 오버레이 제한을 체크할지 어떨지를 결정한다.
CanUseScanLine 렌더러가 드로잉(Drawing) 할 경우에 현재의 주사선을 체크할지 어떨지를 결정한다.
GetCaps 하드웨어 능력이 저장 된 DirectDraw 정의 DDCAPS 구조체를 얻어온다.
GetDirectDraw IDirectDraw 인터페이스를 얻어온다.
GetEmulatedCaps 에뮬레이트 기능이 저장 된 DirectDraw 정의 DDCAPS 구조체를 얻어온다.
GetFourCCCodes 멀티미디어 포맷 타입 FOURCC DWORD 를 얻어온다.
GetSurfaceDesc 사용되고 있는 DirectDraw 표면의 설명을 얻어온다.
GetSurfaceType 실제의 표면 타입을 얻어온다.
GetSwitches 렌더러를 사용할 수 있는 표면 타입을 얻어온다.
SetDefault 현재의 프로퍼티 설정을 글로벌 디폴트로 한다.
SetDirectDraw 로드 되고 있는 드라이버에 IDirectDraw 인터페이스를 건네준다.
SetSwitches 렌더러를 사용할 수 있는 표면 타입을 설정한다.
UseOverlayStretch 렌더러가 오버레이 확대 제한을 체크할 필요가 있을지 어떨지를 결정한다.
UseScanLine 렌더러가 비디오를 드로잉(Drawing) 할 경우에 현재의 주사선을 체크할 필요가 있을지 어떨지를 결정한다.
UseWhenFullScreen 풀 스크린 모드에 바뀔 때 DirectShow 가 디스플레이 모드를 변경할 필요가 있을지 어떨지를 결정한다.
WillUseFullScreen 풀 스크린 모드에 바뀔 때 DirectShow 가 디스플레이 모드를 변경할지 어떨지를 결정한다.

↑TOP