Bagikan melalui


Kelas CImageAllocator

[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.]

hierarki kelas cimageallocator

Kelas mengimplementasikan CImageAllocator alokator yang mengelola bitmap independen perangkat GDI (DIB). Kelas ini berasal dari kelas CBaseAllocator . Ini membuat sampel media yang diimplementasikan menggunakan kelas CImageSample .

Alokator dibagikan oleh dua pin yang terhubung, tetapi selalu dimiliki oleh salah satu filter dalam koneksi. Filter yang menggunakan CImageAllocator harus melacak apakah alokator disediakan dengan sendirinya atau oleh filter lainnya. Jika alokator disediakan dengan sendirinya, filter pemilik dapat mengandalkan fakta bahwa semua sampel media dari alokator adalah objek CImageSample . Oleh karena itu dapat menggunakan objek CImageSample untuk mendapatkan informasi tentang DIB, yang disimpan dalam struktur DIBDATA .

Filter pemilik harus memanggil NotifyMediaType setiap kali jenis media berubah.

Variabel Anggota yang Dilindungi Deskripsi
m_pFilter Arahkan ke filter pemilik.
m_pMediaType Penunjuk ke tipe media saat ini.
Metode yang Dilindungi Deskripsi
Alokasi Mengalokasikan memori untuk buffer.
CheckSizes Memeriksa properti alokator terhadap tipe media saat ini.
CreateDIB Membuat DIB.
CreateImageSample Membuat sampel media. Virtual.
Gratis Merilis semua memori buffer.
Metode Publik Deskripsi
CImageAllocator Metode konstruktor.
NotifyMediaType Menginformasikan objek dari tipe media saat ini.
Metode IMemAllocator Deskripsi
SetProperties Menentukan jumlah buffer yang akan dialokasikan dan ukuran setiap buffer.

Persyaratan

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

Lihat juga

Kelas CDrawImage