Метод CTransInPlaceInputPin.NotifyAllocator
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод NotifyAllocator
задает распределитель для соединения. Этот метод реализует метод IMemInputPin::NotifyAllocator .
Синтаксис
HRESULT NotifyAllocator(
IMemAllocator *pAllocator,
BOOL bReadOnly
);
Параметры
-
pAllocator
-
Указатель на интерфейс IMemAllocator распределителя.
-
bReadOnly
-
Флаг, указывающий, доступны ли примеры из этого распределителя только для чтения. Если задано значение TRUE, примеры доступны только для чтения.
Возвращаемое значение
Возвращает значение HRESULT . Возможные значения включают значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешное завершение |
|
Failure |
|
Аргумент указателя NULL |
Комментарии
Фильтр пытается использовать один и тот же распределитель для обоих подключений.
- Если выходной контакт не подключен, входной контакт автоматически принимает распределитель. Когда выходной контакт подключен, фильтр повторно подключит входной контакт. На этом этапе фильтр снова попытается использовать один распределитель.
- Если выходной контакт подключен, входной контакт принимает распределитель. Выходной контакт также использует тот же распределитель. Он вызывает
NotifyAllocator
на нисходящем входном контакте.
В предыдущем случае имеется следующее исключение:
- Если предлагаемый распределитель доступен только для чтения (то есть параметр bReadOnly имеет значение TRUE) и фильтру необходимо изменить примеры, фильтр должен использовать два разных распределителя. В этом случае, если фильтр вышестоящий предлагает использовать распределитель нижестоящего фильтра, метод возвращает E_FAIL.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|