Antarmuka IMemAllocator (strmif.h)
[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.]
Antarmuka IMemAllocator
mengalokasikan sampel media, untuk memindahkan data antar pin.
Antarmuka ini digunakan oleh pin yang berbagi alokator, ketika pin input mengekspos antarmuka IMemInputPin . Pin menegosiasikan pin mana yang akan menyediakan alokator. Alokator digunakan untuk mengalokasikan buffer memori, mengambil buffer kosong, dan merilis buffer. Tidak setiap filter membuat alokatornya sendiri, sehingga satu alokator dapat digunakan oleh beberapa filter. Untuk informasi selengkapnya, lihat Cara Filter Tersambung.
Aplikasi biasanya tidak menggunakan antarmuka ini.
Untuk menggunakan alokator, lakukan langkah-langkah berikut:
- Panggil metode IMemAllocator::SetProperties untuk menentukan persyaratan buffer, termasuk jumlah buffer dan ukuran setiap buffer.
- Panggil metode IMemAllocator::Commit untuk mengalokasikan buffer.
- Panggil metode IMemAllocator::GetBuffer untuk mengambil sampel media. Metode ini memblokir hingga sampel berikutnya tersedia.
- Setelah selesai dengan setiap sampel, panggil metode IUnknown::Release pada sampel. Sampel tidak dihapus ketika jumlah referensinya mencapai nol. Sebaliknya, sampel kembali ke daftar gratis alokator.
- Ketika Anda selesai menggunakan alokator, panggil metode IMemAllocator::D ecommit untuk merilis memori untuk buffer.
Warisan
Antarmuka IMemAllocator mewarisi dari antarmuka IUnknown . IMemAllocator juga memiliki jenis anggota ini:
Metode
Antarmuka IMemAllocator memiliki metode ini.
IMemAllocator::Commit Metode Penerapan mengalokasikan memori buffer. |
IMemAllocator::D ecommit Metode Decommit merilis memori buffer. |
IMemAllocator::GetBuffer Metode GetBuffer mengambil sampel media yang berisi buffer kosong. |
IMemAllocator::GetProperties Metode GetProperties mengambil jumlah buffer yang akan dibuat alokator, dan properti buffer. |
IMemAllocator::ReleaseBuffer Metode ReleaseBuffer merilis sampel media. |
IMemAllocator::SetProperties Metode SetProperties menentukan jumlah buffer yang akan dialokasikan dan ukuran setiap buffer. |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | strmif.h (termasuk Dshow.h) |