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

IAMGraphStreams::FindUpstreamInterface

FindUpstreamInterface 메서드는, 지정된 핀으로부터 시작해, 지정된 인터페이스를 필터 그래프내에서 검색한다.

구문

HRESULT FindUpstreamInterface(
  IPin *pPin,
  REFIID riid,
  void **ppvInterface,
  DWORD dwFlags
);

파라미터

pPin

[in] 핀의 IPin 인터페이스의 포인터. 핀은, 필터 그래프내의 필터에 속해야 한다.

riid

[in] 검색하는 인터페이스를 지정하는 인터페이스 ID (IID)에의 참조.

ppvInterface

[out] void 포인터 주소. 메서드가 성공했을 경우, 이 변수는 riid 로 지정되는 인터페이스의 포인터를 받는다.

dwFlags

[in] AM_INTF_SEARCH_FLAGS 열거형으로 정의되는 플래그의 편성. 검색 대상 (핀 또는 필터)을 지정한다.

반환값

다음의 몇개의 HRESULT 값을 돌려준다.

반환 코드 설명
E_NOINTERFACE 인터페이스가 발견되지 않는다.
E_POINTER 무효인 포인터.
S_OK 성공.

주의

dwFlags 가 제로의 경우, 이 메서드는, 다음의 순서로 인터페이스를 검색한다.

  1. pPin 로 지정된 핀을 문의한다.
  2. pPin 가 입력 핀의 경우는,pPin 에 출력 핀이 접속되고 있으면, 그 출력 핀상에서 FindUpstreamInterface 를 재귀적으로 호출한다.

    pPin 가 출력 핀의 경우는,pPin 를 소유하고 있는 필터를 문의한다. 그 후, 필터상에서 pPin 에 내부 접속하고 있는 입력 핀의 리스트를 생성 해, 그러한 입력 핀상에서 FindUpstreamInterface 를 재귀적으로 호출한다.

    내부 접속을 가지는 입력 핀의 리스트를 생성 하기 위해서, 이 메서드는 이하를 실행한다.

이 인터페이스를 지원 하고 있는 최초의 개체를 찾아내면 정지한다. dwFlags 를 제로 이외의 값으로 설정하는 것으로, 검색하는 개체를, 필터, 입력 핀, 출력 핀 등에 한정할 수 있다.

 :  ICaptureGraphBuilder2::FindInterface 메서드는 이 문제에 대해서 보다 범용적인 어프로치를 처리 하고 있어, 대부분의 상황으로 이쪽이 추천 된다.

참조

↑TOP