Metode ICaptureGraphBuilder2::FindInterface (strmif.h)
[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 FindInterface
ini mencari grafik untuk antarmuka tertentu, dimulai dari filter yang ditentukan. Anda dapat membatasi pencarian ke bagian grafik upstram atau hilir filter, atau membatasinya ke kategori pin atau jenis media tertentu.
Sintaks
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
Parameter
[in] pCategory
Penunjuk ke GUID yang menentukan kriteria pencarian. Lihat Keterangan untuk informasi selengkapnya. Nilai berikut dimungkinkan:
- &LOOK_UPSTREAM_ONLY.
- &LOOK_DOWNSTREAM_ONLY.
- Salah satu kategori pin yang tercantum dalam Set Properti Pin.
- NULL
[in] pType
Penunjuk ke GUID yang menentukan jenis media utama dari pin output, atau NULL.
[in] pf
Arahkan ke antarmuka IBaseFilter filter. Metode mulai mencari dari filter ini.
[in] riid
Pengidentifikasi antarmuka (IID) antarmuka untuk menemukan.
[out] ppint
Alamat variabel yang menerima penunjuk antarmuka. Pastikan untuk merilis penunjuk antarmuka yang diambil ketika Anda selesai dengan antarmuka.
Mengembalikan nilai
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Kegagalan. |
|
Tidak ada antarmuka seperti itu yang didukung. |
|
Argumen penunjuk NULL. |
Keterangan
Dalam grafik pengambilan, berbagai filter dan pin mungkin mengekspos antarmuka untuk mengatur properti seperti parameter kompresi (IAMVideoCompression) atau format aliran (IAMStreamConfig). Tergantung pada perangkat pengambilan, antarmuka berguna lainnya mungkin termasuk IAMCrossbar, yang merutekan sinyal analog, atau IAMTVTuner, yang mengontrol perangkat tuner TV. Anda dapat menggunakan metode ini untuk menemukan antarmuka, tanpa menulis kode khusus yang melintasi grafik.
- Filter
- Pin filter
- Semua filter hilir, termasuk pinnya
- Semua filter upstram, termasuk pinnya
- Jika pCategory sama dengan &LOOK_UPSTREAM_ONLY, pencarian dimulai dari pin input filter dan berlanjut ke hulu. Ini tidak termasuk filter atau apa pun di hilir dari filter. Parameter pType diabaikan.
- Jika pCategory sama dengan &LOOK_DOWNSTREAM_ONLY, pencarian dimulai dari pin output filter dan melanjutkan hilir. Ini tidak termasuk filter atau apa pun di hulu dari filter. Parameter pType diabaikan.
- Jika pCategory menentukan kategori pin, bagian hilir pencarian dibatasi untuk pin output pada filter yang cocok dengan kategori pin dan jenis media yang diberikan dalam parameter pType . Dalam hal ini, metode ini juga mencari filter dan semuanya upstram dari filter.
Kategori pin berguna untuk menemukan antarmuka pin pada filter tangkapan. Misalnya, filter pengambilan mungkin memiliki pin terpisah untuk pengambilan dan pratinjau. Jika Anda menentukan kategori pin, Anda juga harus menentukan jenis media, untuk memastikan metode memilih filter dan pin yang benar.
Beberapa filter pengambilan video memiliki pin port video (PIN_CATEGORY_VIDEOPORT) alih-alih pin pratinjau. Jika Anda menentukan PIN_CATEGORY_PREVIEW dan MEDIATYPE_Video, metode memperlakukan pin port video apa pun sebagai pin pratinjau. Aplikasi Anda tidak perlu menguji kemungkinan ini.
Filter Pendukung. Jika perangkat pengambilan menggunakan driver Windows Driver Model (WDM), grafik mungkin memerlukan filter tertentu di hulu dari filter WDM Video Capture , seperti filter Tuner TV atau filter Crossbar Video Analog . Jika parameter pCategory tidak sama dengan NULL, metode ini secara otomatis menyisipkan filter WDM yang diperlukan ke dalam grafik. Untuk melakukannya, ia meminta pin input pada filter tangkapan untuk menentukan media apa yang mereka dukung, dan menghubungkannya ke filter yang cocok. Jika parameter pCategory adalah NULL, metode tidak menambahkan filter upstram.
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 |