IBaseFilter::Metode JoinFilterGraph (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 ini JoinFilterGraph
memberi tahu filter bahwa filter telah bergabung atau meninggalkan grafik filter.
Sintaks
HRESULT JoinFilterGraph(
[in] IFilterGraph *pGraph,
[in] LPCWSTR pName
);
Parameter
[in] pGraph
Arahkan ke antarmuka IFilterGraph Filter Graph Manager, atau NULL jika filter meninggalkan grafik.
[in] pName
Penunjuk ke string karakter lebar yang menentukan nama untuk filter.
Nilai kembali
Mengembalikan S_OK jika berhasil, atau nilai HRESULT yang menunjukkan penyebab kesalahan.
Keterangan
Saat Filter Graph Manager menambahkan filter ke grafik filter, filter memanggil metode ini dengan penunjuk ke dirinya sendiri. Ini menetapkan nama untuk instans filter ini melalui parameter pName . Nama dapat diambil dengan memanggil metode IBaseFilter::QueryFilterInfo .
Saat Filter Graph Manager menghapus filter dari grafik, filter memanggil metode ini dengan penunjuk NULL .
Aplikasi tidak boleh memanggil metode ini. Untuk menambahkan filter ke grafik, panggil metode IFilterGraph::AddFilter pada manajer grafik filter.
Pengembang filter: Filter dapat menyimpan penunjuk antarmuka IFilterGraph dan mengkuerinya untuk antarmuka Filter Graph Manager lainnya. Namun, itu tidak boleh menyimpan jumlah referensi pada Filter Graph Manager. Melakukannya akan membuat jumlah referensi melingkar, karena Filter Graph Manager menyimpan jumlah referensi pada filter. Jumlah referensi melingkar mencegah antarmuka dirilis dengan benar, yang dapat menyebabkan kebuntuan. Antarmuka IFilterGraph dijamin valid hingga Filter Graph Manager memanggil metode ini lagi dengan nilai NULL. Untuk implementasi metode ini, lihat metode CBaseFilter::JoinFilterGraph .
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 |