IFilterMapper2::EnumMatchingFilters 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media 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 |
---|---|
|
Success |
|
실패 |
|
메모리 부족 |
|
NULL 포인터 인수 |
설명
입력 핀이 지정된 미디어 형식 집합과 일치하는 필터를 찾으려면 주 형식 GUID 및 하위 형식 GUID가 쌍으로 정렬된 배열을 선언합니다. pInputTypes 매개 변수에 배열 주소를 전달하고 cInputTypes 매개 변수를 쌍 수(즉, 배열 크기의 절반)와 동일하게 설정합니다.
C++ |
---|
GUID arrayInTypes[2]; arrayInTypes[0] = MEDIATYPE_Video; arrayInTypes[1] = GUID_NULL; |
bExactMatch 매개 변수의 값이 TRUE이면 이 메서드는 미디어 유형, 핀 범주 및 핀 매체에 대해 지정한 값과 정확히 일치하는 필터를 찾습니다. 값이 FALSE이면 이러한 항목에 대해 NULL 값을 등록하는 필터가 일치하는 것으로 간주됩니다. (실제로 레지스트리의 NULL 값은 와일드카드로 작동합니다.)
미디어 유형, 핀 범주 또는 핀 매체에 NULL 을 지정하는 경우 필터는 해당 매개 변수와 일치하는 것으로 간주됩니다.
핀이 미디어 형식을 등록하지 않은 경우 이 메서드는 미디어 형식과 일치하는 것으로 간주하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | strmif.h(Dshow.h 포함) |
라이브러리 | Strmiids.lib |