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

IFilterGraph::AddFilter

AddFilter 메서드는, 그래프에 필터를 추가한다.

구문

HRESULT AddFilter(
  IBaseFilter *pFilter,
  LPCWSTR pName
);

파라미터

pFilter

[in] 추가하는 필터의 IBaseFilter 인터페이스의 포인터.

pName

[in] 필터의 이름이 저장 되고 있는 와이드 캐릭터 라인의 포인터.

[in] 필터명의 포인터.

반환값

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

설명
S_OK 성공.
VFW_S_DUPLICATE_NAME 이름이 중복 한 필터의 추가에 성공했다.
E_FAIL 실패.
E_OUTOFMEMORY 메모리 부족.
E_POINTER NULL 포인터 인수.
VFW_E_CERTIFICATION_FAILURE 이 필터의 사용은, 소프트웨어 키에 의해 제한되고 있다.
VFW_E_DUPLICATE_NAME 이름이 중복 한 필터의 추가에 실패했다.

주의

필터명은 NULL 의 경우가 있다. 그 경우, 필터 그래프 매니저가 이름을 생성한다. 필터명이 NULL 이외로 일의가 아닌 경우, 이 메서드는, 필터명을 변경해 일의인 이름을 생성하려고 한다. 이것에 성공하면 VFW_S_DUPLICATE_NAME 를 돌려준다. 일의인 이름을 생성할 수 없는 경우는, VFW_E_DUPLICATE_NAME 를 돌려준다.

AddFilter 는, 필터의 IBaseFilter::JoinFilterGraph 메서드를 호출해, 필터가 추가된 것을 그 필터에 통지한다. IGraphBuilder::Connect 메서드,IFilterGraph::ConnectDirect 메서드, 또는 IGraphBuilder::Render 메서드를 사용해, 추가한 필터에 속하는 핀을 접속 또는 렌더링 하는 경우에는, 그 전에 AddFilter 를 호출해야 한다.

참조

↑TOP