DirectShow DirectShow 레퍼런스 인터페이스 IAMGraphStreams FindUpstreamInterface [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 가 제로의 경우, 이 메서드는, 다음의 순서로 인터페이스를 검색한다.
pPin 가 출력 핀의 경우는,pPin 를 소유하고 있는 필터를 문의한다. 그 후, 필터상에서 pPin 에 내부 접속하고 있는 입력 핀의 리스트를 생성 해, 그러한 입력 핀상에서 FindUpstreamInterface 를 재귀적으로 호출한다.
내부 접속을 가지는 입력 핀의 리스트를 생성 하기 위해서, 이 메서드는 이하를 실행한다.
이 인터페이스를 지원 하고 있는 최초의 개체를 찾아내면 정지한다. dwFlags 를 제로 이외의 값으로 설정하는 것으로, 검색하는 개체를, 필터, 입력 핀, 출력 핀 등에 한정할 수 있다.
주 : ICaptureGraphBuilder2::FindInterface 메서드는 이 문제에 대해서 보다 범용적인 어프로치를 처리 하고 있어, 대부분의 상황으로 이쪽이 추천 된다.
참조