Bagikan melalui


IEnumMediaTypes::Metode berikutnya (strmif.h)

[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 Berikutnya mengambil sejumlah jenis media tertentu.

Sintaks

HRESULT Next(
  [in]  ULONG         cMediaTypes,
  [out] AM_MEDIA_TYPE **ppMediaTypes,
  [out] ULONG         *pcFetched
);

Parameter

[in] cMediaTypes

Jumlah jenis media yang akan diambil.

[out] ppMediaTypes

Alamat array penunjuk AM_MEDIA_TYPE . Jumlah elemen dalam array diberikan dalam parameter cMediaTypes .

[out] pcFetched

Menerima jumlah jenis media yang dikembalikan dalam ppMediaTypes. Parameter ini bisa NULL jika cMediaTypes adalah 1.

Mengembalikan nilai

Mengembalikan salah satu nilai HRESULT berikut.

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

Penelepon melewati array penunjuk AM_MEDIA_TYPE di ppMediaTypes. Metode ini mengalokasikan angka AM_MEDIA_TYPE struktur yang sama dengan cMediaTypes atau ke jumlah jenis media yang tetap dalam enumerasi, mana yang kurang. Jumlah struktur yang dialokasikan dikembalikan dalam pcFetched. Hapus setiap struktur dengan memanggil fungsi DeleteMediaType .

Jika kumpulan jenis media berubah, enumerator menjadi tidak konsisten dengan pin pemilik. Dalam hal ini, metode mengembalikan VFW_E_ENUM_OUT_OF_SYNC. Buang data apa pun yang diperoleh dari panggilan sebelumnya ke enumerator, karena mungkin tidak valid. Perbarui enumerator dengan memanggil metode IEnumMediaTypes::Reset . Anda kemudian dapat memanggil metode Berikutnya dengan aman.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header strmif.h (termasuk Dshow.h)
Pustaka Strmiids.lib

Lihat juga

Menghitung Jenis Media

Kode Kesalahan dan Keberhasilan

Antarmuka IEnumMediaTypes