Metode IMemAllocator::D ecommit (strmif.h)
[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 Decommit
ini merilis memori buffer.
Sintaks
HRESULT Decommit();
Mengembalikan nilai
Mengembalikan S_OK jika berhasil, atau nilai HRESULT yang menunjukkan penyebab kesalahan.
Keterangan
Setiap utas yang menunggu di metode IMemAllocator::GetBuffer kembali dengan kesalahan. Panggilan lebih lanjut ke GetBuffer gagal, hingga metode IMemAllocator::Commit dipanggil.
Tujuan dari Decommit
metode ini adalah untuk mencegah filter mendapatkan sampel lagi dari alokator. Filter yang sudah menyimpan jumlah referensi pada sampel tidak terpengaruh. Setelah filter merilis sampel dan jumlah referensi masuk ke nol, namun, sampel tidak lagi tersedia.
Alokator dapat membebaskan memori milik sampel apa pun dengan jumlah referensi nol. Dengan demikian, Decommit
metode "melepaskan" memori dalam arti bahwa filter berhenti memiliki akses ke dalamnya. Apakah memori benar-benar kembali ke timbunan tergantung pada implementasi alokator. Beberapa alokator menunggu sampai metode destruktor mereka sendiri. Namun, alokator tidak boleh meninggalkan memori yang dialokasikan saat dihapus sendiri. Oleh karena itu, destruktor alokator harus menunggu sampai semua sampelnya dirilis.
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) |
Pustaka | Strmiids.lib |