다음을 통해 공유


CEnumMediaTypes.Next 메서드

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

메서드는 Next 지정된 수의 미디어 형식을 검색합니다. 이 메서드는 IEnumMediaTypes::Next 메서드를 구현합니다 .

구문

HRESULT Next(
   ULONG         cMediaTypes,
   AM_MEDIA_TYPE **ppMediaTypes,
   ULONG         *pcFetched
);

매개 변수

cMediaTypes

검색할 미디어 형식의 수입니다.

ppMediaTypes

cPins 크기의 AM_MEDIA_TYPE 구조체에 대한 포인터 배열입니다.

pcFetched

반환된 메서드의 미디어 형식 수를 받는 변수에 대한 포인터입니다. cMediaTypes가 1이면 NULL일 수 있습니다.

반환 값

다음 표에 표시된 HRESULT 값 중 하나를 반환합니다.

반환 코드 설명
S_FALSE
요청된 만큼 많은 미디어 형식을 검색하지 않았습니다.
S_OK
성공.
E_INVALIDARG
인수가 잘못되었습니다.
E_POINTER
NULL 포인터 인수입니다.
VFW_E_ENUM_OUT_OF_SYNC
핀의 상태가 변경되어 열거자와 일치하지 않습니다.

설명

메서드가 성공하면 ppMediaTypes 로 지정된 배열에 AM_MEDIA_TYPE 구조체에 대한 포인터가 포함됩니다. 구조체 수는 *pcFetched와 같습니다. DeleteMediaType 함수를 호출하여 각 미디어 형식을 해제합니다.

이 메서드는 핀의 CBasePin::GetMediaType 메서드를 호출하여 미디어 형식을 검색합니다.

요구 사항

요구 사항
헤더
Amfilter.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CEnumMediaTypes 클래스