Bagikan melalui


Metode CMemAllocator.SetProperties

[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 SetProperties menentukan jumlah buffer yang akan dialokasikan dan ukuran setiap buffer.

Sintaks

HRESULT SetProperties(
   ALLOCATOR_PROPERTIES *pRequest,
   ALLOCATOR_PROPERTIES *pActual
);

Parameter

pRequest

Arahkan ke struktur ALLOCATOR_PROPERTIES yang berisi persyaratan buffer.

pActual

Penunjuk ke struktur ALLOCATOR_PROPERTIES yang menerima properti buffer aktual.

Nilai kembali

Mengembalikan salah satu nilai HRESULT yang diperlihatkan dalam tabel berikut ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_POINTER
Argumen penunjuk NULL.
VFW_E_ALREADY_COMMITTED
Tidak dapat mengubah memori yang dialokasikan saat filter aktif.
VFW_E_BADALIGN
Perataan yang tidak valid ditentukan.
VFW_E_BUFFERS_OUTSTANDING
Satu atau beberapa buffer masih aktif.

Keterangan

Metode ini mengambil alih metode CBaseAllocator::SetProperties .

Perataan buffer, yang ditentukan oleh anggota cbAlign dari struktur ALLOCATOR_PROPERTIES , harus menjadi kekuatan dua yang merata.

Persyaratan

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

Lihat juga

Kelas CMemAllocator