DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseFilter [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CBaseFilter 클래스는, 필터를 처리 하는 추상 클래스이다. 이 클래스를 사용해 필터를 처리 하려면 , 최저한다음의 스텝을 실행해야 한다.
CSource ,CBaseRenderer ,CTransformFilter 등의 몇개의 base class가 CBaseFilter 로부터 파생한다. 보통,CBaseFilter 를 직접 사용하는 것보다도, 이러한 클래스의 1 개를 지정해 필터를 처리 하는 쪽이 간단하다.
요건
헤더: Amfilter.h 로 선언해, Streams.h 를 인클루드 한다.
라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).
프로텍트 멤버 변수 | |
m_State | 필터의 현재 상태. |
m_pClock | 필터의 기준 클럭의 포인터. |
m_tStart | 스트림 타임 0 에 대응하는 기준 타임. |
m_clsid | 필터의 클래스 식별자 (CLSID). |
m_pLock | 상태 변경을 계속하기 위해서 사용하는 크리티컬 섹션의 포인터. |
m_pName | 필터명. |
m_pGraph | 필터 그래프 매니저의 포인터. |
m_pSink | 필터 그래프 매니저의 IMediaEventSink 인터페이스의 포인터. |
m_PinVersion | 이 필터의 일련의 핀의 현재의 버전. |
퍼블릭 메서드 | |
CBaseFilter | 생성자 메서드. |
~CBaseFilter | 소멸자 메서드. |
StreamTime | 현재의 스트림 타임을 얻어온다. 가상. |
IsActive | 필터가 현재 액티브 (실행중 또는 포즈) 화도인지를 조사한다. |
IsStopped | 필터가 현재 정지하고 있을지 어떨지를 조사한다. |
NotifyEvent | 이벤트 통지를 필터 그래프 매니저에 보낸다. |
GetFilterGraph | 필터 그래프 매니저의 포인터를 얻어온다. |
ReconnectPin | 기존의 핀 접속을 해제해, 지정한 미디어 핀을 사용해, 같은 핀에 그것을 재접속한다. |
GetPinVersion | 이 필터의 일련의 핀의 버전 번호를 얻어온다. 가상. |
IncrementPinVersion | 일련의 핀의 버전수를 인크리먼트(increment) 한다. |
GetSetupData | 필터의 등록 데이터를 얻어온다. 가상. |
순수 가상 메서드 | |
GetPinCount | 핀의 수를 얻어온다. |
GetPin | 핀을 얻어온다. |
IPersist 메서드 | |
GetClassID | 클래스 식별자를 얻어온다. |
IMediaFilter 메서드 | |
GetState | 필터 상태 (실행중, 정지, 포즈)를 얻어온다. |
SetSyncSource | 필터의 기준 클럭을 설정한다. |
GetSyncSource | 필터가 사용하고 있는 기준 클럭을 얻어온다. |
Stop | 필터를 정지한다. |
Pause | 필터를 포즈 한다. |
Run | 필터를 실행한다. |
IBaseFilter 메서드 | |
EnumPins | 필터의 핀을 열거한다. |
FindPin | 지정한 식별자로 핀을 얻어온다. |
QueryFilterInfo | 필터에 대한 정보를 얻어온다. |
JoinFilterGraph | 필터 그래프에 참가한 것, 또는 필터 그래프로부터 멀어진 것을 필터에 통지한다. |
QueryVendorInfo | 벤더 정보를 포함한 캐릭터 라인을 얻어온다. |
IAMovieSetup 메서드 | |
Register | 레지스트리에 필터를 추가한다. |
Unregister | 레지스트리로부터 필터를 삭제한다. |