Bagikan melalui


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
S_OK
Berhasil.
E_FAIL
Kegagalan.
E_POINTER
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

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka ICaptureGraphBuilder2