CBaseDispatch 클래스

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

cbasedispatch 클래스 계층 구조

CBaseDispatch 클래스는 DirectShow 필터에서 IDispatch 인터페이스를 구현하기 위한 기본 클래스입니다.

이 클래스는 DirectShow 형식 라이브러리 QuartzTypeLib에서 내보낸 Automation 호환 인터페이스를 지원하는 것으로 제한됩니다. 예를 들어 CMediaControlCMediaPosition 클래스는 각각 CBaseDispatch 를 사용하여 IMediaControlIMediaPosition을 구현합니다. 이러한 제한으로 인해 CBaseDispatch 를 사용자 고유의 필터에서 직접 사용할 이유가 없을 수 있습니다.

이 클래스를 사용하려면 다음을 수행합니다.

  • IDispatch를 지원하는 새 클래스를 선언합니다.
  • 새 클래스에 CBaseDispatch 형식의 프라이빗 멤버 변수를 제공합니다.
  • IDispatch 메서드를 구현합니다.
  • IDispatch 메서드에서 CBaseDispatch 메서드를 호출합니다.

자세한 내용은 Ctlutil.h에 선언된 샘플 클래스의 소스 코드를 참조하세요.

Public 메서드 Description
CBaseDispatch 생성자 메서드입니다.
~CBaseDispatch 소멸자 메서드입니다.
GetIDsOfNames 이름 집합을 해당 DISPID 집합에 매핑합니다.
GetTypeInfo 개체에 대한 형식 정보를 검색한 다음 인터페이스의 형식 정보를 가져오는 데 사용할 수 있습니다.
GetTypeInfoCount 개체가 제공하는 형식 정보 인터페이스의 수를 검색합니다.

요구 사항

요구 사항
헤더
Ctlutil.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

DirectShow 기본 클래스