Bagikan melalui


Metode CBasePin.ReceiveConnection

[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 ReceiveConnection menerima koneksi dari pin lain. Metode ini mengimplementasikan metode IPin::ReceiveConnection .

Sintaks

HRESULT ReceiveConnection(
   IPin          *pConnector,
   AM_MEDIA_TYPE *pmt
);

Parameter

pConnector

Arahkan ke antarmuka IPin pin penghubung.

Pmt

Penunjuk ke struktur AM_MEDIA_TYPE yang menentukan jenis media.

Nilai kembali

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

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_POINTER
Argumen pointer NULL.
VFW_E_ALREADY_CONNECTED
Pin sudah tersambung.
VFW_E_NOT_STOPPED
Filter aktif dan pin tidak mendukung koneksi ulang dinamis.
VFW_E_TYPE_NOT_ACCEPTED
Tipe media yang ditentukan tidak dapat diterima.

Keterangan

Pin output memanggil metode ini pada pin input. Jika pin input mengembalikan kode kesalahan, koneksi gagal.

Di kelas dasar, metode ini melakukan langkah-langkah berikut:

  • Memeriksa apakah pin sudah tersambung.
  • Memeriksa apakah filter dihentikan.
  • Memanggil metode CBasePin::CheckConnect untuk menguji apakah pin penghubung cocok.
  • Memanggil metode CBasePin::CheckMediaType untuk menguji apakah jenis media dapat diterima.

Jika semua langkah ini berhasil, metode memanggil metode CBasePin::CompleteConnect dan SetMediaType untuk menyelesaikan koneksi. Metode ini menyimpan jenis media dan penunjuk ke pin output.

Jika CheckConnect atau CheckMediaType gagal, kelas dasar memanggil metode CBasePin::BreakConnect untuk memutuskan koneksi lalu mengembalikan kode kesalahan dari ReceiveConnection.

Persyaratan

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

Lihat juga

Kelas CBasePin