Metode CBaseInputPin.ReceiveCanBlock

[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 ReceiveCanBlock menentukan apakah panggilan ke metode IMemInputPin::Receive mungkin memblokir. Metode ini mengimplementasikan metode IMemInputPin::ReceiveCanBlock .

Sintaks

HRESULT ReceiveCanBlock();

Parameter

Metode ini tidak memiliki parameter.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang tercantum dalam tabel berikut.

Menampilkan kode Deskripsi
S_FALSE
Pin tidak akan memblokir panggilan ke Terima.
S_OK
Pin mungkin memblokir panggilan ke Terima.

Keterangan

Kembalikan S_FALSE jika panggilan ke metode Terima dijamin tidak akan diblokir. Jika tidak, kembalikan S_OK atau kode kesalahan. Jika metode Terima memanggil Terima pada pin hilir, pin hilir mungkin memblokir; ReceiveCanBlock harus memperhitungkan faktor itu.

Filter upstram dapat menggunakan metode ini untuk menentukan strategi utasnya. Jika metode Terima mungkin memblokir, filter upstram mungkin memutuskan untuk menggunakan utas pekerja yang menyangga data. Lihat kelas COutputQueue untuk implementasi strategi ini.

Di kelas dasar, metode ini mengembalikan S_OK ketika salah satu hal berikut ini benar:

  • Filter tidak memiliki pin output.
  • Pin input yang tersambung ke sinyal filter ini yang mungkin diblokir.
  • Pin input yang tersambung ke filter ini tidak mendukung antarmuka IMemInputPin .

Persyaratan

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

Lihat juga

Kelas CBaseInputPin