DirectShow DirectShow 레퍼런스 인터페이스 IFilterGraph AddFilter [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 를 호출해야 한다.
참조