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

IGraphBuilder::AddSourceFilter

AddSourceFilter 메서드는, 지정된 파일의 소스 필터를 필터 그래프에 추가한다.

구문

HRESULT AddSourceFilter(
  LPCWSTR lpwstrFileName,
  LPCWSTR lpwstrFilterName,
  IBaseFilter **ppFilter
);

파라미터

lpwstrFileName

[in] 로드하는 파일의 이름을 지정한다.

lpwstrFilterName

[in] 소스 필터의 이름을 지정한다.

ppFilter

[out] 소스 필터의 IBaseFilter 인터페이스 포인터를 받는 변수의 포인터.

반환값

HRESULT 를 돌려준다. 가능한 값은 다음과 같다.

설명
S_OK 성공.
E_NOINTERFACE 소스 필터는 IFileSourceFilter 인터페이스를 지원 하고 있지 않다.
E_OUTOFMEMORY 메모리 부족.
E_POINTER NULL 포인터 인수.
VFW_E_CANNOT_LOAD_SOURCE_FILTER 이 파일의 소스 필터를 로드할 수 없었다.
VFW_E_NOT_FOUND 파일 또는 개체가 발견되지 않았다.
VFW_E_UNKNOWN_FILE_TYPE 이 파일의 미디어 타입이 인식되지 않았다.

주의

이 메서드는, 지정한 파일을 읽기 가능한, 인스톨 되고 있는 필터를 검색한다. 필터가 발견되면 메서드는 그 필터를 필터 그래프에 추가해, 그 필터의 IBaseFilter 인터페이스의 포인터를 돌려준다. 지정한 파일의 미디어 타입과 압축 스킴을 확인하기 위해서, 필터 그래프 매니저는 파일의 최초의 수바이트를 읽어들여, 「커스텀 파일 타입의 등록」에 기술되고 있는 특정의 바이트 패턴을 찾는다.

애플리케이션이 나머지의 필터 그래프를 생성 해야 한다. 생성 하려면 ,IBaseFilter::EnumPins 를 호출해, 소스 필터의 출력 핀을 열거한다. 다음에 IGraphBuilder::Connect 메서드 또는 IGraphBuilder::Render 메서드를 사용한다.

메서드가 성공하면IBaseFilter 인터페이스에 미처리의 참조 카운트가 남는다. 호출원래는 그 인터페이스를 반드시 릴리즈 하는 것.

디폴트의 재생으로 파일을 렌더링 하려면 ,IGraphBuilder::RenderFile 메서드를 사용한다.

참조

↑TOP