Bagikan melalui


Metode CEnumMediaTypes.Next

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Metode ini Next mengambil sejumlah jenis media tertentu. Metode ini mengimplementasikan metode IEnumMediaTypes::Next .

Sintaks

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

Parameter

cMediaTypes

Jumlah jenis media yang akan diambil.

ppMediaTypes

Array pointer ke struktur AM_MEDIA_TYPE , dari cPin ukuran.

pcFetched

Penunjuk ke variabel yang menerima jumlah jenis media yang dikembalikan metode. Dapat berupa NULL jika cMediaTypes adalah 1.

Nilai kembali

Mengembalikan salah satu nilai HRESULT yang diperlihatkan dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_FALSE
Tidak mengambil tipe media sebanyak yang diminta.
S_OK
Berhasil.
E_INVALIDARG
Argumen tidak valid.
E_POINTER
Argumen pointer NULL.
VFW_E_ENUM_OUT_OF_SYNC
Status pin telah berubah dan sekarang tidak konsisten dengan enumerator.

Keterangan

Jika metode berhasil, array yang ditentukan oleh ppMediaTypes berisi pointer ke struktur AM_MEDIA_TYPE. Jumlah struktur sama dengan *pcFetched. Bebaskan setiap jenis media dengan memanggil fungsi DeleteMediaType .

Metode ini memanggil metode CBasePin::GetMediaType pin untuk mengambil jenis media.

Persyaratan

Persyaratan Nilai
Header
Amfilter.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CEnumMediaTypes