Метод IAMBufferNegotiation::SuggestAllocatorProperties (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод SuggestAllocatorProperties
сообщает закреплению предпочитаемых свойств распределителя приложения. Вызовите этот метод перед подключением контакта.
Синтаксис
HRESULT SuggestAllocatorProperties(
[in] const ALLOCATOR_PROPERTIES *pprop
);
Параметры
[in] pprop
Указатель на структуру ALLOCATOR_PROPERTIES , содержащую запрошенные свойства. Отрицательное значение для любого элемента указывает, что закрепление должно использовать значение по умолчанию для этого свойства.
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Ошибка. |
|
Аргумент указателя NULL. |
|
Закрепление уже подключено. |
Комментарии
Если оба контакта в соединении предоставляют интерфейс IAMBufferNegotiation , вызовите этот метод для каждого контакта, чтобы убедиться, что один контакт не переопределяет другой.
Чтобы запросить определенное количество буферов, задайте член cBuffersструктуры ALLOCATOR_PROPERTIES . Чтобы запросить определенный размер буфера, задайте член cbBuffer . Приложение обычно не должно указывать выравнивание или префикс. Если количество буферов или размер каждого буфера слишком мало, диаграмма фильтров может удалить выборки.
Примеры
C++ |
---|
ALLOCATOR_PROPERTIES AllocProp; AllocProp.cbAlign = -1; // -1 means no preference. AllocProp.cbBuffer = dwBytesPerSec * dwLatencyInMilliseconds / 1000; AllocProp.cbPrefix = -1; AllocProp.cBuffers = -1; pIAMBufferNegotiation->SuggestAllocatorProperties(&AllocProp); |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |