Metode IFilterMapper2::EnumMatchingFilters (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 EnumMatchingFilters
menghitung filter terdaftar yang memenuhi persyaratan yang ditentukan.
Sintaks
HRESULT EnumMatchingFilters(
[out] IEnumMoniker **ppEnum,
[in] DWORD dwFlags,
[in] BOOL bExactMatch,
[in] DWORD dwMerit,
[in] BOOL bInputNeeded,
[in] DWORD cInputTypes,
[in] const GUID *pInputTypes,
[in] const REGPINMEDIUM *pMedIn,
[in] const CLSID *pPinCategoryIn,
[in] BOOL bRender,
[in] BOOL bOutputNeeded,
[in] DWORD cOutputTypes,
[in] const GUID *pOutputTypes,
[in] const REGPINMEDIUM *pMedOut,
[in] const CLSID *pPinCategoryOut
);
Parameter
[out] ppEnum
Menerima penunjuk ke antarmuka IEnumMoniker . Gunakan penunjuk antarmuka ini untuk mengambil moniker filter dari enumerasi. Pemanggil harus merilis antarmuka.
[in] dwFlags
Dicadangkan, harus nol.
[in] bExactMatch
Nilai Boolean yang menunjukkan apakah kecocokan persis diperlukan. Lihat Keterangan untuk informasi selengkapnya.
[in] dwMerit
Nilai berjasa minimum. Enumerasi mengecualikan filter dengan nilai merit yang lebih rendah. Untuk daftar nilai manfaat, lihat Merit. Jika dwMerit lebih tinggi dari MERIT_DO_NOT_USE, enumerasi juga mengecualikan filter yang kategorinya memiliki manfaat kurang dari atau sama dengan MERIT_DO_NOT_USE. (Lihat Kategori Filter.)
[in] bInputNeeded
Nilai Boolean yang menunjukkan apakah filter harus memiliki pin input. Jika nilainya TRUE, filter harus memiliki setidaknya satu pin input.
[in] cInputTypes
Jumlah jenis media input yang ditentukan dalam pInputTypes.
[in] pInputTypes
Arahkan ke array pasangan GUID yang menentukan jenis dan subjenis utama, agar pin input cocok. Ukuran array adalah 2 * cInputTypes. Array dapat berupa NULL. Anggota array individual dapat GUID_NULL, yang cocok dengan jenis apa pun. (Lihat Jenis Media.)
[in] pMedIn
Penunjuk ke struktur REGPINMEDIUM yang menentukan media untuk pin input. Atur ke NULL jika tidak diperlukan.
[in] pPinCategoryIn
Penunjuk ke GUID yang menentukan kategori pin input. (Lihat Menyematkan Set Properti.) Atur ke NULL jika tidak diperlukan.
[in] bRender
Nilai Boolean yang menentukan apakah filter harus merender inputnya. Jika TRUE, filter yang ditentukan harus merender inputnya. (Nilai ini sesuai dengan bidang bRendered dalam struktur REGFILTERPINS , yang digunakan untuk mendaftarkan informasi tentang pin filter.)
[in] bOutputNeeded
Nilai Boolean yang menentukan apakah filter harus memiliki pin output. Jika TRUE, filter harus memiliki setidaknya satu pin output.
[in] cOutputTypes
Jumlah jenis media input yang ditentukan dalam pOutputTypes.
[in] pOutputTypes
Penunjuk ke array pasangan GUID yang menentukan jenis utama dan subjenis, agar pin output cocok. Ukuran array adalah 2 * cOutputTypes. Array dapat berupa NULL. Anggota array individual dapat GUID_NULL, yang cocok dengan jenis apa pun.
[in] pMedOut
Penunjuk ke struktur REGPINMEDIUM yang menentukan media untuk pin output. Atur ke NULL jika tidak diperlukan.
[in] pPinCategoryOut
Pointer ke GUID yang menentukan kategori pin output. (Lihat Menyematkan Set Properti.) Atur ke NULL jika tidak diperlukan.
Nilai kembali
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil |
|
Kegagalan |
|
Memori tidak mencukuum |
|
Argumen penunjuk NULL |
Keterangan
Untuk menemukan filter yang pin inputnya cocok dengan sekumpulan jenis media tertentu, deklarasikan array dengan GUID jenis utama dan GUID subjenis yang diurutkan berpasangan. Teruskan alamat array dalam parameter pInputTypes , dan atur parameter cInputTypes sama dengan jumlah pasangan (yaitu, setengah ukuran array):
C++ |
---|
GUID arrayInTypes[2]; arrayInTypes[0] = MEDIATYPE_Video; arrayInTypes[1] = GUID_NULL; |
Jika nilai parameter bExactMatchTRUE, metode ini mencari filter yang sama persis dengan nilai yang Anda tentukan untuk jenis media, kategori pin, dan media pin. Jika nilainya FALSE, filter yang mendaftarkan nilai NULL untuk salah satu item ini dianggap cocok. (Akibatnya, nilai NULL dalam registri bertindak sebagai kartubebas.)
Jika Anda menentukan NULL untuk jenis media, kategori pin, atau media pin, filter apa pun dianggap cocok untuk parameter tersebut.
Jika pin tidak mendaftarkan jenis media apa pun, metode ini tidak akan menganggapnya cocok untuk jenis media.
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 |