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

IFilterMapper2::EnumMatchingFilters

EnumMatchingFilters 메서드는, 지정된 요건을 채우는 등록이 끝난 필터를 열거한다.

구문

HRESULT EnumMatchingFilters(
  IEnumMoniker **ppEnum,
  DWORD dwFlags,
  BOOL bExactMatch,
  DWORD dwMerit,
  BOOL bInputNeeded,
  DWORD cInputTypes,
  const GUID *pInputTypes,
  const REGPINMEDIUM *pMedIn,
  const CLSID *pPinCategoryIn,
  BOOL bRender,
  BOOL bOutputNeeded,
  DWORD cOutputTypes,
  const GUID *pOutputTypes,
  const REGPINMEDIUM *pMedOut,
  const CLSID *pPinCategoryOut
);

파라미터

ppEnum

[out] IEnumMoniker 인터페이스의 포인터를 받는 변수의 주소. 이 인터페이스 포인터를 사용해, 열거로부터 필터모니카를 얻어온다. 호출원래는 인터페이스를 반드시 릴리즈 하는 것.

dwFlags

[in] 예약이 끝난 상태. 0 이 아니면 안된다.

bExactMatch

[in] 완전하게 일치하는 것만을 열거할지 어떨지를 나타내는 불형의 값. 더 자세한 정보는, 「주의」를 참조할것.

dwMerit

[in] 최소 메리트값. 열거에서는, 이 값미만의 메리트값의 필터는 제외한다. dwMerit 가 MERIT_DO_NOT_USE 를 넘는 경우, 열거는 category 가 MERIT_DO_NOT_USE 이하의 메리트값의 필터도 제외한다 (필터 카테고리」를 참조할것).

bInputNeeded

[in] 필터에 입력 핀이 필요한가 어떤가를 나타내는 불형의 값. TRUE 의 경우, 필터에는 입력 핀이 적어도 1 개 필요하다.

cInputTypes

[in] pInputTypes 로 지정하는 입력 미디어 타입의 수.

pInputTypes

[in] 메이저 타입 및 서브 타입을 지정하는 GUID 페어의 배열의 포인터. 이것들에 일치하는 입력 핀을 열거한다. 배열의 사이즈는 2 * cInputTypes 가 된다. 배열은 NULL 도 가능. 배열의 각각의 멤버에는, 모든 타입에 일치하는 GUID_NULL 를 지정할 수 있다 ( 「미디어 타입」을 참조할것).

pMedIn

[in] 입력 핀의 미디어를 지정하는 REGPINMEDIUM 구조체의 포인터. 필요가 없는 경우는, NULL 를 설정한다.

pPinCategoryIn

[in] 입력 핀 카테고리를 지정하는 GUID 의 포인터 ( 「핀 프로퍼티 세트」를 참조할것). 필요가 없는 경우는, NULL 를 설정한다.

bRender

[in] 필터가 그 입력을 렌더링 할 필요가 있을지 어떨지를 지정하는 불형의 값. TRUE 의 경우에는, 지정된 필터가 입력을 렌더링 할 필요가 있다.

bOutputNeeded

[in] 필터에 출력 핀이 필요한가 어떤가를 지정하는 불형의 값. TRUE 의 경우, 필터에는 출력 핀이 적어도 1 개 필요하다.

cOutputTypes

[in] pOutputTypes 로 지정하는 입력 미디어 타입의 수.

pOutputTypes

[in] 메이저 타입 및 서브 타입을 지정하는 GUID 페어의 배열의 포인터. 이것들에 일치하는 출력 핀을 열거한다. 배열의 사이즈는 2 * cOutputTypes 가 된다. 배열은 NULL 도 가능. 배열의 각각의 멤버에는, 모든 타입에 일치하는 GUID_NULL 를 지정할 수 있다.

pMedOut

[in] 출력 핀의 미디어를 지정하는 REGPINMEDIUM 구조체의 포인터. 필요가 없는 경우는, NULL 를 설정한다.

pPinCategoryOut

[in] 출력 핀 카테고리를 지정하는 GUID 의 포인터 ( 「핀 프로퍼티 세트」를 참조할것). 필요가 없는 경우는, NULL 를 설정한다.

반환값

HRESULT 값을 돌려준다. 가능한 값은 다음의 일람대로이다.

설명
S_OK 성공.
E_FAIL 실패.
E_OUTOFMEMORY 메모리 부족.
E_POINTER NULL 포인터 인수.

주의

입력 핀이 주어진 미디어 타입 세트와 일치하는 필터를 검색하려면 , 메이저 타입 GUID 와 서브 타입 GUID 의 페어를 순서에 늘어놓은 배열을 선언한다. pInputTypes 인수에 배열의 주소를 건네주어,cInputTypes 인수에 페어의 수 (즉 배열 사이즈의 반)를 설정한다.

GUID arrayInTypes[2];
arrayInTypes[0] = MEDIATYPE_Video;
arrayInTypes[1] = GUID_NULL;

DWORD cInTypes = 1;

출력 핀의 경우는,pOutputTypes 인수에 같은 배열을 건네주어,cOutputTypes 인수로 GUID 페어의 수를 지정한다.

bExactMatch 인수의 값이 TRUE 의 경우, 이 메서드는, 미디어 타입, 핀 카테고리, 핀 미디어로 지정된 값과 완전하게 일치하는 필터를 검색한다. 이 값이 FALSE 의 경우, 이러한 항목의 몇개의 값에 NULL 를 등록하고 있는 필터가 일치하는 것이라고 보여진다 (레지스트리내의 값 NULL 는 와일드 카드가 책임을 다한다).

미디어 타입, 핀 카테고리, 또는 핀 미디어에 NULL 를 지정 하면, 모든 필터가 그 인수에 일치하는 것이라고 보여진다.

미디어 타입이 등록되지 않은 핀은, 그 미디어 타입에 일치하지 않는 것이라고 보여진다.

참조

↑TOP