Metode CBaseOutputPin.DecideAllocator
[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 DecideAllocator
memilih alokator memori.
Sintaks
virtual HRESULT DecideAllocator(
IMemInputPin *pPin,
IMemAllocator **pAlloc
);
Parameter
-
pPin
-
Arahkan ke antarmuka IMemInputPin pin input.
-
pAlloc
-
Alamat variabel yang menerima penunjuk ke antarmuka IMemAllocator alokator .
Nilai kembali
Mengembalikan S_OK jika berhasil, atau nilai HRESULT yang menunjukkan penyebab kesalahan.
Keterangan
Metode ini dipanggil di akhir proses koneksi pin. Lakukan langkah-langkah berikut:
- Memanggil metode IMemInputPin::GetAllocatorRequirements untuk mengambil persyaratan buffer pin input, jika ada.
- Memanggil metode IMemInputPin::GetAllocator untuk meminta alokator dari pin input. Jika pin input tidak menyediakan alokator, pin output membuatnya dengan memanggil metode kelas CBaseOutputPin::InitAllocator .
- Memanggil metode kelas CBaseOutputPin::D ecideBufferSize , yang mengatur properti alokator. Ini adalah metode virtual murni; kelas turunan harus mengimplementasikannya.
- Memanggil metode IMemInputPin::NotifyAllocator , yang memberi tahu pin input alokator yang digunakan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|