Bagikan melalui


Metode CBasePin.CheckConnect

[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 CheckConnect menentukan apakah koneksi pin cocok.

Sintaks

virtual HRESULT CheckConnect(
   IPin *pPin
);

Parameter

pPin

Arahkan ke antarmuka IPin pin lainnya.

Nilai kembali

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

Menampilkan kode Deskripsi
S_OK
Berhasil.
VFW_E_INVALID_DIRECTION
Arah pin tidak kompatibel.

Keterangan

Metode ini dipanggil pada kedua pin pada awal proses koneksi. Pin penghubung memanggilnya dari dalam metode CBasePin::Connect , dan pin penerima memanggilnya dari dalam metode CBasePin::ReceiveConnection .

Gunakan metode ini untuk menentukan apakah pin yang ditentukan oleh parameter pPin cocok untuk koneksi. Kelas dasar mengembalikan kesalahan jika kedua pin memiliki arah yang sama (input, atau kedua output). Kelas turunan dapat mengambil alih metode ini untuk memverifikasi fitur lain dalam pin. Misalnya, kelas CBaseOutputPin meminta pin input untuk antarmuka IMemInputPin-nya .

Jika metode ini gagal, koneksi gagal dan pin memanggil metode CBasePin::BreakConnect . Gunakan BreakConnect untuk membebaskan sumber daya apa pun yang diperoleh di CheckConnect. Misalnya, jika CheckConnect memanggil metode QueryInterface , BreakConnect harus merilis antarmuka.

Persyaratan

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

Lihat juga

Kelas CBasePin