共用方式為


CEnumMediaTypes.Next 方法

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

方法會 Next 擷取指定的媒體類型數目。 這個方法會實作 IEnumMediaTypes::Next 方法。

語法

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

參數

cMediaTypes

要擷取的媒體類型數目。

ppMediaTypes

AM_MEDIA_TYPE結構的指標陣列,大小為 cPins

pcFetched

接收方法所傳回之媒體類型數目的變數指標。 如果cMediaTypes為 1,可以是Null

傳回值

傳回下表所示的其中一個 HRESULT 值。

傳回碼 Description
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 類別