Поделиться через


Интерфейс IAMDevMemoryControl (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Примечание Этот интерфейс больше не поддерживается разделителями AVI.
 
Примечание Он был определен для поддержки некоторых старых аппаратных декодеров, которые требовали чтения файлов AVI непосредственно в аппаратную память. Интерфейс позволяет средству синтаксического анализа AVI выделять память из подчиненного фильтра, но по-прежнему предоставляет собственный распределитель. Новые устройства не должны поддерживать этот интерфейс.
 
Объект управления памятью устройства поддерживает IAMDevMemoryControl. Этот объект агрегируется с объектом IMemAllocator , который используется в соединении. Как правило, фильтры вызывают метод IAMDevMemoryAllocator::GetDevMemoryObject , чтобы получить указатель на этот интерфейс.

Реализуйте этот интерфейс с помощью интерфейса IAMDevMemoryAllocator , когда контакты должны иметь больший контроль над выделением памяти.

Используйте этот интерфейс для синхронизации завершения записи данных в распределитель памяти и получения идентификатора устройства встроенного распределителя памяти.

Наследование

Интерфейс IAMDevMemoryControl наследуется от интерфейса IUnknown . IAMDevMemoryControl также имеет следующие типы элементов:

Методы

Интерфейс IAMDevMemoryControl содержит следующие методы.

 
IAMDevMemoryControl::GetDevId

Примечание Интерфейс IAMDevMemoryControl является устаревшим. Извлекает идентификатор устройства встроенного распределителя памяти.
IAMDevMemoryControl::QueryWriteSync

Примечание Интерфейс IAMDevMemoryControl является устаревшим. Проверяет, требуется ли использование метода IAMDevMemoryControl::WriteSync для памяти, поддерживаемой распределителем.
IAMDevMemoryControl::WriteSync

Примечание Интерфейс IAMDevMemoryControl является устаревшим. Используется для синхронизации с завершенной записью. Этот метод возвращает, когда все данные, записываемые в определенную область выделения, полностью записываются в память.

Требования

Требование Значение
Целевая платформа Windows
Header strmif.h

См. также раздел

Нерекомендуемые интерфейсы