Metode CBaseInputPin.ReceiveMultiple

[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 ini ReceiveMultiple menerima array sampel. Metode ini mengimplementasikan metode IMemInputPin::ReceiveMultiple .

Sintaks

HRESULT ReceiveMultiple(
   IMediaSample **pSamples,
   long         nSamples,
   long         *nSamplesProcessed
);

Parameter

pSamples

Alamat array pointer IMediaSample , dengan ukuran nSamples.

nSamples

Jumlah sampel yang akan diproses.

nSamplesProcessed

Penunjuk ke variabel yang menerima jumlah sampel yang diproses.

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin menyertakan nilai yang tercantum dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
S_FALSE
Pin saat ini sedang di-flushing; sampel ditolak.
E_POINTER
Argumen penunjuk NULL.
VFW_E_INVALIDMEDIATYPE
Tipe media tidak valid.
VFW_E_RUNTIME_ERROR
Terjadi kesalahan run-time.
VFW_E_WRONG_STATE
Pin dihentikan.

Keterangan

Metode ini berperilaku seperti metode CBaseInputPin::Receive , tetapi menerima array sampel. Di kelas dasar, metode mengulang melalui array dan panggilan Terima dengan setiap sampel. Ambil alih fungsi ini jika filter Anda dapat memproses batch sampel secara lebih efisien daripada memprosesnya satu per satu.

Persyaratan

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

Lihat juga

Kelas CBaseInputPin