Bagikan melalui


Metode CBasePin.TryMediaTypes

[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.]

Mengingat daftar jenis media, TryMediaTypes metode mencoba menyelesaikan koneksi menggunakan salah satu jenis tersebut.

Sintaks

virtual HRESULT TryMediaTypes(
         IPin            *pReceivePin,
   const CMediaType      *pmt,
         IEnumMediaTypes *pEnum
);

Parameter

pReceivePin

Arahkan ke antarmuka IPin pin penerima.

Pmt

Penunjuk ke objek CMediaType yang membatasi kemungkinan jenis media, atau NULL.

pEnum

Penunjuk ke antarmuka IEnumMediaTypes , digunakan untuk menghitung daftar jenis media.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Berhasil.
VFW_E_NO_ACCEPTABLE_TYPES
Tidak menemukan tipe media yang dapat diterima.

Keterangan

Untuk setiap jenis media yang dikembalikan oleh antarmuka IEnumMediaTypes , metode ini mencoba koneksi dengan memanggil metode CBasePin::AttemptConnection .

Jika parameter pmtnon-NULL, pin melompati jenis media yang tidak cocok dengan jenis ini. Parameter pmt dapat menentukan jenis media parsial. Jenis media parsial memiliki nilai GUID_NULL untuk jenis utama, subjenis, atau format. Nilai GUID_NULL cocok dengan jenis apa pun, mirip dengan nilai "kartubebas".

Persyaratan

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

Lihat juga

Kelas CBasePin