IGraphBuilder::AddSourceFilter method (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 menambahkan AddSourceFilter
filter sumber untuk file tertentu ke grafik filter.
Sintaks
HRESULT AddSourceFilter(
[in] LPCWSTR lpcwstrFileName,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Parameter
[in] lpcwstrFileName
Menentukan nama file yang akan dimuat.
[in] lpcwstrFilterName
Menentukan nama untuk filter sumber.
[out] ppFilter
Menerima penunjuk ke antarmuka IBaseFilter filter. Pemanggil harus merilis antarmuka.
Mengembalikan nilai
Mengembalikan HRESULT. Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Filter sumber tidak mendukung antarmuka IFileSourceFilter . |
|
Memori tidak cukup. |
|
Argumen pointer NULL. |
|
Filter sumber untuk file ini tidak dapat dimuat. |
|
File atau objek tidak ditemukan. |
|
Tipe media file ini tidak dikenal. |
Keterangan
Metode ini mencari filter terinstal yang dapat membaca file yang ditentukan. Jika menemukannya, metode menambahkannya ke grafik filter dan mengembalikan penunjuk ke antarmuka IBaseFilter filter. Untuk menentukan jenis media dan skema kompresi file, Filter Graph Manager membaca beberapa byte pertama file, mencari pola byte tertentu, seperti yang di dokumentasikan dalam artikel Mendaftarkan Jenis File Kustom.
Aplikasi ini bertanggung jawab untuk membangun grafik filter lainnya. Untuk melakukannya, panggil IBaseFilter::EnumPins untuk menghitung pin output pada filter sumber. Kemudian gunakan metode IGraphBuilder::Connect atau metode IGraphBuilder::Render .
Jika metode berhasil, antarmuka IBaseFilter memiliki jumlah referensi yang luar biasa. Pemanggil harus merilis antarmuka.
Untuk merender file untuk pemutaran default, gunakan metode IGraphBuilder::RenderFile .
Filter Graph Manager menyimpan jumlah referensi pada filter hingga filter dihapus dari grafik atau Filter Graph Manager dirilis.
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 |