Интерфейс IMemAllocator (strmif.h)
Интерфейс IMemAllocator
выделяет образцы мультимедиа для перемещения данных между закреплениями.
Этот интерфейс используется контактами, которые совместно используют распределители, когда входной пин-код предоставляет интерфейс IMemInputPin . Контакты согласовывают, какие контакты будут предоставлять распределитель. Распределитель используется для выделения буферов памяти, извлечения пустых буферов и буферов выпуска. Не каждый фильтр создает собственный распределитель, поэтому один распределитель может использоваться несколькими фильтрами. Дополнительные сведения см. в разделе о подключении фильтров.
Приложения обычно не используют этот интерфейс.
Чтобы использовать распределитель, выполните следующие действия.
- Вызовите метод IMemAllocator::SetProperties , чтобы указать требования к буферу, включая количество буферов и размер каждого буфера.
- Вызовите метод IMemAllocator::Commit , чтобы выделить буферы.
- Вызовите метод IMemAllocator::GetBuffer для получения примеров мультимедиа. Этот метод блокируется до тех пор, пока не станет доступен следующий пример.
- Завершив работу с каждым примером, вызовите метод IUnknown::Release в примере. Образец не удаляется, когда его число ссылок достигает нуля. Вместо этого пример возвращается в список свободных элементов распределителя.
- Завершив использование распределителя, вызовите метод IMemAllocator::D ecommit , чтобы освободить память для буферов.
Наследование
Интерфейс IMemAllocator наследует от интерфейса IUnknown . IMemAllocator также имеет следующие типы элементов:
Методы
Интерфейс IMemAllocator имеет эти методы.
IMemAllocator::Commit Метод Commit выделяет буферную память. |
IMemAllocator::D ecommit Метод Decommit освобождает буферную память. |
IMemAllocator::GetBuffer Метод GetBuffer извлекает образец мультимедиа, содержащий пустой буфер. |
IMemAllocator::GetProperties Метод GetProperties извлекает количество буферов, создаваемых распределителем, и свойства буфера. |
IMemAllocator::ReleaseBuffer Метод ReleaseBuffer освобождает образец носителя. |
IMemAllocator::SetProperties Метод SetProperties указывает количество буферов для выделения и размер каждого буфера. |
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (include Dshow.h) |