Metode ICaptureGraphBuilder2::SetOutputFileName (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 SetOutputFileName
membuat bagian penulisan file dari grafik filter.
Sintaks
HRESULT SetOutputFileName(
[in] const GUID *pType,
[in] LPCOLESTR lpstrFile,
[out] IBaseFilter **ppf,
[out] IFileSinkFilter **ppSink
);
Parameter
[in] pType
Pointer ke GUID yang mewakili subjenis media output atau pengidentifikasi kelas (CLSID) dari filter multiplexer atau filter penulis file. Jika Anda menentukan subjenis media, subjenis tersebut harus salah satu dari berikut ini:
Nilai | Deskripsi |
---|---|
MEDIASUBTYPE_Avi | Audio-Video Interleaved (AVI) |
MEDIASUBTYPE_Asf | Format Sistem Tingkat Lanjut (ASF) |
[in] lpstrFile
Penunjuk ke string karakter lebar yang berisi nama file output.
[out] ppf
Alamat pointer yang menerima antarmuka IBaseFilter multiplexer.
[out] ppSink
Alamat pointer yang menerima antarmuka IFileSinkFilter penulis file. Bisa NULL.
Mengembalikan nilai
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Kegagalan. |
|
Argumen pointer NULL. |
Keterangan
Metode ini membuat filter multiplexer berdasarkan nilai parameter pType . Untuk AVI, AVI membuat Filter AVI Mux. Untuk ASF, ini membuat Penulis ASF WM. Untuk nilai lain, ini membuat filter yang diidentifikasi oleh CLSID. Ini menambahkan multiplexer ke grafik filter, dan mengembalikan penunjuk ke antarmuka IBaseFilter di parameter ppf .
Jika multiplexer mendukung antarmuka IFileSinkFilter , metode memanggil IFileSinkFilter::SetFileName untuk mengatur nama file output, menggunakan nilai yang diberikan dalam parameter lpwstrFile . Jika multiplexer tidak mendukung antarmuka IFileSinkFilter , metode menambahkan Filter Penulis File ke grafik filter, menghubungkan multiplexer ke penulis file, dan menggunakan antarmuka IFileSinkFilter penulis file untuk memanggil SetFileName. Jika parameter pSink bukan NULL, parameter menerima penunjuk ke antarmuka IFileSinkFilter .
Anda dapat menggunakan penunjuk ke filter multiplexer, yang dikembalikan dalam parameter ppf , sebagai parameter pSink dalam metode ICaptureGraphBuilder2::RenderStream .
Untuk filter multiplexer kustom, metode gagal jika filter tidak mendukung koneksi pada pin outputnya sebelum pin inputnya tersambung. Misalnya, Sampel Filter WavDest yang disertakan dengan SDK memiliki batasan ini.
Jika metode berhasil, antarmuka IBaseFilter yang dikembalikan dalam parameter ppf memiliki jumlah referensi yang luar biasa. Jika metode berhasil dan pSink bukan NULL, antarmuka IFileSinkFilter juga memiliki jumlah referensi yang luar biasa. Pastikan untuk merilis kedua antarmuka ketika Anda selesai menggunakannya.
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 |