Metode CBaseAllocator.Alloc
[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 mengalokasikan Alloc
memori untuk buffer.
Sintaks
virtual HRESULT Alloc();
Parameter
Metode ini tidak memiliki parameter.
Nilai kembali
Mengembalikan salah satu nilai HRESULT berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Persyaratan buffer tidak berubah. |
|
Persyaratan buffer telah berubah. |
|
Persyaratan buffer tidak ditetapkan. |
Keterangan
Metode ini dipanggil oleh metode CBaseAllocator::Commit .
Di kelas dasar, metode ini tidak mengalokasikan memori apa pun. Ini mengembalikan kesalahan jika persyaratan buffer tidak ditetapkan, S_FALSE jika persyaratan tidak berubah, dan S_OK jika persyaratan telah berubah.
Kelas turunan harus mengambil alih metode ini untuk melakukan alokasi memori aktual. Biasanya, kelas turunan akan melakukan langkah-langkah berikut:
- Panggil implementasi kelas dasar, untuk menentukan apakah memori benar-benar perlu dialokasikan.
- Alokasikan memori.
- Buat objek CMediaSample yang berisi potongan memori dari langkah 2.
- Tambahkan setiap objek CMediaSample ke daftar sampel gratis (CBaseAllocator::m_lFree).
Misalnya, lihat CMemAllocator::Alloc.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|