다음을 통해 공유


IFilterMapper2::EnumMatchingFilters 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 EnumMatchingFilters 지정된 요구 사항을 충족하는 등록된 필터를 열거합니다.

구문

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

매개 변수

[out] ppEnum

IEnumMoniker 인터페이스에 대한 포인터를 받습니다. 이 인터페이스 포인터를 사용하여 열거형에서 필터 모니커를 검색합니다. 호출자는 인터페이스를 해제해야 합니다.

[in] dwFlags

예약됨, 0이어야 합니다.

[in] bExactMatch

정확한 일치가 필요한지 여부를 나타내는 부울 값입니다. 자세한 내용은 설명 부분을 참조하십시오.

[in] dwMerit

최소 장점 값입니다. 열거형은 장점 값이 적은 필터를 제외합니다. 장점 값 목록은 장점을 참조 하세요. dwMerit이 MERIT_DO_NOT_USE보다 높은 경우 열거형은 범주의 장점이 MERIT_DO_NOT_USE 작거나 같은 필터도 제외합니다. ( 필터 범주를 참조하세요.)

[in] bInputNeeded

필터에 입력 핀이 있어야 하는지 여부를 나타내는 부울 값입니다. 값이 TRUE이면 필터에 하나 이상의 입력 핀이 있어야 합니다.

[in] cInputTypes

pInputTypes에 지정된 입력 미디어 형식의 수입니다.

[in] pInputTypes

입력 핀이 일치하도록 주 형식 및 하위 형식을 지정하는 GUID 쌍 배열에 대한 포인터입니다. 배열의 크기는 2 * cInputTypes입니다. 배열은 NULL일 수 있습니다. 개별 배열 멤버는 모든 형식과 일치하는 GUID_NULL 수 있습니다. ( 미디어 형식을 참조하세요.)

[in] pMedIn

입력 핀의 매체를 지정하는 REGPINMEDIUM 구조체에 대한 포인터입니다. 필요하지 않은 경우 NULL 로 설정합니다.

[in] pPinCategoryIn

입력 핀 범주를 지정하는 GUID에 대한 포인터입니다. ( 고정 속성 집합을 참조하세요.) 필요하지 않은 경우 NULL 로 설정합니다.

[in] bRender

필터가 입력을 렌더링해야 하는지 여부를 지정하는 부울 값입니다. TRUE이면 지정된 필터가 해당 입력을 렌더링해야 합니다. (이 값은 필터의 핀에 대한 정보를 등록하는 데 사용되는 REGFILTERPINS 구조체의 bRendered 필드에 해당합니다.)

[in] bOutputNeeded

필터에 출력 핀이 있어야 하는지 여부를 지정하는 부울 값입니다. TRUE이면 필터에 출력 핀이 하나 이상 있어야 합니다.

[in] cOutputTypes

pOutputTypes에 지정된 입력 미디어 형식의 수입니다.

[in] pOutputTypes

출력 핀이 일치하도록 주 형식 및 하위 형식을 지정하는 GUID 쌍 배열에 대한 포인터입니다. 배열의 크기는 2 * cOutputTypes입니다. 배열은 NULL일 수 있습니다. 개별 배열 멤버는 모든 형식과 일치하는 GUID_NULL 수 있습니다.

[in] pMedOut

출력 핀의 중간을 지정하는 REGPINMEDIUM 구조체에 대한 포인터입니다. 필요하지 않은 경우 NULL 로 설정합니다.

[in] pPinCategoryOut

출력 핀 범주를 지정하는 GUID에 대한 포인터입니다. ( 고정 속성 집합을 참조하세요.) 필요하지 않은 경우 NULL 로 설정합니다.

반환 값

HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 표시된 값이 포함됩니다.

반환 코드 Description
S_OK
Success
E_FAIL
실패
E_OUTOFMEMORY
메모리 부족
E_POINTER
NULL 포인터 인수

설명

입력 핀이 지정된 미디어 형식 집합과 일치하는 필터를 찾으려면 주 형식 GUID 및 하위 형식 GUID가 쌍으로 정렬된 배열을 선언합니다. pInputTypes 매개 변수에 배열 주소를 전달하고 cInputTypes 매개 변수를 쌍 수(즉, 배열 크기의 절반)와 동일하게 설정합니다.

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

DWORD cInTypes = 1;

출력 핀의 경우 pOutputTypes 매개 변수에 유사한 배열을 전달하고 cOutputTypes 매개 변수에서 GUID 쌍 수를 지정합니다.

bExactMatch 매개 변수의 값이 TRUE이면 이 메서드는 미디어 유형, 핀 범주 및 핀 매체에 대해 지정한 값과 정확히 일치하는 필터를 찾습니다. 값이 FALSE이면 이러한 항목에 대해 NULL 값을 등록하는 필터가 일치하는 것으로 간주됩니다. (실제로 레지스트리의 NULL 값은 와일드카드로 작동합니다.)

미디어 유형, 핀 범주 또는 핀 매체에 NULL 을 지정하는 경우 필터는 해당 매개 변수와 일치하는 것으로 간주됩니다.

핀이 미디어 형식을 등록하지 않은 경우 이 메서드는 미디어 형식과 일치하는 것으로 간주하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IFilterMapper2 인터페이스