Bagikan melalui


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
S_OK
Berhasil.
E_NOINTERFACE
Filter sumber tidak mendukung antarmuka IFileSourceFilter .
E_OUTOFMEMORY
Memori tidak cukup.
E_POINTER
Argumen pointer NULL.
VFW_E_CANNOT_LOAD_SOURCE_FILTER
Filter sumber untuk file ini tidak dapat dimuat.
VFW_E_NOT_FOUND
File atau objek tidak ditemukan.
VFW_E_UNKNOWN_FILE_TYPE
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

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka IGraphBuilder