Bagikan melalui


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
S_OK
Berhasil.
E_OUTOFMEMORY
Memori tidak cukup.
E_POINTER
Nilai pointer NULL.
VFW_E_INVALIDMEDIATYPE
Tipe media ini tidak valid.
VFW_E_NOT_CONNECTED
Pin input tidak tersambung.
VFW_E_NOT_STOPPED
Tidak dapat mengatur tipe; filter tidak dihentikan.
VFW_E_WRONG_STATE
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

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka IAMStreamConfig