Bagikan melalui


Metode CDynamicOutputPin.AsynchronousBlockOutputPin

[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 AsynchronousBlockOutputPin memblokir pin. Metode mungkin kembali sebelum pin diblokir.

Sintaks

HRESULT AsynchronousBlockOutputPin(
   HANDLE hNotifyCallerPinBlockedEvent
);

Parameter

hNotifyCallerPinBlockedEvent

Menangani ke peristiwa. Peristiwa ini disinyalir ketika pin output diblokir, atau jika pemanggil membatalkan operasi blok.

Nilai kembali

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

Menampilkan kode Deskripsi
S_OK
Berhasil.
VFW_E_PIN_ALREADY_BLOCKED
Pin sudah diblokir pada utas lain.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
Pin sudah diblokir pada utas panggilan.

Keterangan

Jangan panggil metode ini dari utas streaming.

Jika tidak ada utas streaming yang menggunakan pin, metode ini segera memblokir pin. Jika tidak, ini mengatur status pin ke "tertunda" dan kembali. Ketika operasi streaming selesai, utas streaming memanggil metode CDynamicOutputPin::StopUsingOutputPin , yang memblokir pin dan memberi sinyal peristiwa hNotifyCallerPinBlockedEvent . Untuk membatalkan blok yang tertunda, panggil metode CDynamicOutputPin::UnblockOutputPin .

Persyaratan

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

Lihat juga

Kelas CDynamicOutputPin