Metode IAMStreamConfig::SetFormat (strmif.h)
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan 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 Audio/Video Capture 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 SetFormat
ini mengatur format output pada pin.
Sintaks
HRESULT SetFormat(
[in] AM_MEDIA_TYPE *pmt
);
Parameter
[in] pmt
Penunjuk ke struktur AM_MEDIA_TYPE yang menentukan format baru.
Mengembalikan nilai
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Memori tidak cukup. |
|
Nilai pointer NULL. |
|
Tipe media ini tidak valid. |
|
Pin input tidak tersambung. |
|
Tidak dapat mengatur tipe; filter tidak dihentikan. |
|
Tidak dapat mengatur tipe; filter tidak dihentikan. |
Keterangan
Metode ini menentukan format untuk pin output. Jika pin tidak tersambung, pin akan menggunakan format ini untuk koneksi berikutnya. Jika pin sudah tersambung, pin akan mencoba menyambung kembali dengan format ini. Metode mungkin gagal jika pin lain menolak jenis baru.
Jika metode ini berhasil, panggilan berikutnya ke metode IPin::EnumMediaTypes akan mengembalikan jenis baru, dan tidak ada yang lain.
Pada sebagian besar filter, metode ini gagal jika filter dijeda atau berjalan. Pada beberapa filter kompresi, metode gagal jika pin input filter tidak tersambung.
Dengan beberapa filter, Anda dapat memanggil metode ini dengan nilai NULL untuk mengatur ulang pin ke format defaultnya.
Pengembang Filter: Keterangan berikut menjelaskan cara menerapkan metode ini:
Jika pin output tidak tersambung, dan pin mendukung jenis media yang ditentukan, kembalikan S_OK. Simpan jenis media dan tawarkan sebagai format nomor nol dalam metode CBasePin::GetMediaType . Jangan menawarkan format lain, dan tolak format lain dalam metode CBasePin::CheckMediaType .
Jika pin sudah tersambung, dan pin mendukung jenis media, sambungkan kembali pin dengan jenis tersebut. Jika pin lainnya menolak jenis baru, kembalikan VFW_E_INVALIDMEDIATYPE dan pulihkan koneksi asli.
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 |