Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод SetProperties задает количество буферов для выделения и размер каждого буфера. Этот метод реализует метод IMemAllocator::SetProperties .
Синтаксис
HRESULT SetProperties(
ALLOCATOR_PROPERTIES *pRequest,
ALLOCATOR_PROPERTIES *pActual
);
Параметры
-
pRequest
-
Указатель на структуру ALLOCATOR_PROPERTIES , содержащую требования к буферу.
-
pActual
-
Указатель на структуру ALLOCATOR_PROPERTIES , получающую фактические свойства буфера.
Возвращаемое значение
Возвращает одно из следующих значений HRESULT .
| Код возврата | Описание |
|---|---|
|
Успешно. |
|
Аргумент указателя NULL. |
|
Не удается изменить выделенную память, пока фильтр активен. |
|
Указано недопустимое выравнивание. |
|
Один или несколько буферов по-прежнему активны. |
Комментарии
Этот метод задает требования к буферу, но не выделяет буферы. Вызовите метод CBaseAllocator::Commit для выделения буферов.
Вызывающий объект выделяет две ALLOCATOR_PROPERTIES структуры. Параметр pRequest содержит требования к буферу вызывающего объекта, включая количество буферов и размер каждого буфера. При возврате метода параметр pActual содержит фактические свойства буфера, заданные распределителем. В базовом классе при условии успешного выполнения метода фактические свойства всегда соответствуют запрошенным свойствам. Производные классы могут переопределить это поведение.
Распределител не должен быть зафиксирован и не должен иметь незавершенных буферов. В базовом классе выравнивание должно быть равно 1. Класс CMemAllocator переопределяет это требование.
Требования
| Требование | Значение |
|---|---|
| Заголовок |
|
| Библиотека |
|