Bagikan melalui


Metode CBasePin.AgreeMediaType

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan 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 Audio/Video Capture 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 AgreeMediaType mencari tipe media untuk membuat koneksi pin.

Sintaks

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Parameter

pReceivePin

Arahkan ke antarmuka IPin pin penerima.

Pmt

Penunjuk ke objek CMediaType yang menentukan jenis media, atau NULL.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin mencakup nilai-nilai dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Berhasil.
VFW_E_NO_ACCEPTABLE_TYPES
Tipe media yang bisa diterima tidak ditemukan.

Keterangan

Jika parameter pmtnon-NULL dan sepenuhnya menentukan jenis media, metode ini mencoba koneksi menggunakan jenis media tersebut. Jika upaya gagal, metode mengembalikan kesalahan.

Jika parameter pmt adalah NULL atau menentukan jenis media parsial, metode ini mencoba jenis media dalam urutan berikut:

  1. Jenis media pilihan pin penerima.
  2. Jenis media pilihan pin ini.

Jenis media pilihan dijumlahkan dengan metode CBasePin::EnumMediaTypes , dan enumerator yang dihasilkan diteruskan ke metode CBasePin::TryMediaTypes .

Persyaratan

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

Lihat juga

Kelas CBasePin