Bagikan melalui


Metode CDynamicOutputPin.StartUsingOutputPin

[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 StartUsingOutputPin mendapatkan akses ke pin untuk operasi streaming.

Sintaks

virtual HRESULT StartUsingOutputPin();

Parameter

Metode ini tidak memiliki parameter.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang diperlihatkan dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_UNEXPECTED
Kesalahan tak terduga.
VFW_E_STATE_CHANGED
Filter dihentikan, atau pin telah mulai dibersihkan.

Keterangan

Panggil metode ini sebelum memanggil metode apa pun yang mengirimkan data ke pin input yang terhubung atau yang mengubah jenis media koneksi. Misalnya, aturan ini berlaku untuk metode berikut:

Setelah itu, panggil metode CDynamicOutputPin::StopUsingOutputPin untuk merilis akses ke pin.

Jika pin diblokir, StartUsingOutputPin menunggu pin menjadi tidak diblokir. Jika filter berhenti saat metode menunggu, metode segera mengembalikan VFW_E_STATE_CHANGED. Pin mempertahankan hitungan berapa kali StartUsingOutputPin telah dipanggil tanpa panggilan yang sesuai ke StopUsingOutputPin. Jika utas lain mencoba memblokir pin sementara jumlah ini bukan nol, pin mengatur status pemblokirannya ke "tertunda." Pin menjadi diblokir setelah semua operasi streaming selesai, dalam panggilan akhir ke StopUsingOutputPin.

Jangan tahan bagian penting CDynamicOutputPin::m_BlockStateLock saat Anda memanggil metode ini. Jika tidak, jika pin diblokir, pin tidak akan pernah dapat dibuka blokirnya, menyebabkan kebuntuan.

Persyaratan

Persyaratan Nilai
Header
Amfilter.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

Kelas CDynamicOutputPin