CMediaControl 클래스

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

cmediacontrol 클래스 계층 구조

클래스는 CMediaControl 이중 인터페이스 IMediaControlIDispatch 메서드에 대한 기본 클래스 처리를 제공합니다. IMediaControl 인터페이스의 속성과 메서드는 순수 가상으로 남습니다.

일반적으로 필터 그래프 관리자는 IMediaControl 인터페이스를 구현하는 유일한 개체입니다. (필터는 IBaseFilter에서 상속된 IMediaFilter 인터페이스를 구현하여 필터 그래프 관리자로부터 제어 명령을 받습니다.) 따라서 이 클래스 라이브러리는 개발자를 필터링하는 데 제한됩니다.

CMediaControl::GetIDsOfNames, CMediaControl::GetTypeInfo, CMediaControl::GetTypeInfoCountCMediaControl::Invoke 멤버 함수는 CBaseDispatch 클래스(및 형식 라이브러리)를 사용하여 명령을 구문 분석하고 IMediaControl 인터페이스의 순수 가상 메서드에 전달하는 IDispatch 메서드의 표준 구현입니다.

control.odl에 정의된 IMediaControl 메서드는 순수 가상으로 남아 있습니다.

멤버 함수 Description
CMediaControl CMediaControl 개체를 생성합니다.
IDispatch 메서드 Description
GetIDsOfNames 단일 멤버 및 선택적 매개 변수 집합을 CMediaControl::Invoke 메서드에 대한 후속 호출 중에 사용할 수 있는 해당 DISPID(정수 디스패치 식별자) 집합에 매핑합니다.
GetTypeInfo 인터페이스의 형식 정보를 검색할 수 있는 형식 정보 개체를 검색합니다.
GetTypeInfoCount 개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다.
호출 개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.