Метод IMemInputPin::Receive (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод Receive
получает следующий пример носителя в потоке.
Синтаксис
HRESULT Receive(
[in] IMediaSample *pSample
);
Параметры
[in] pSample
Указатель на интерфейс IMediaSample примера.
Возвращаемое значение
Возвращает значение HRESULT . Возможные значения включают значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Пример был отклонен. |
|
Аргумент указателя NULL. |
|
Недопустимый тип носителя. |
|
Произошла ошибка во время выполнения. |
|
Закрепление остановлено. |
Комментарии
Этот метод является синхронным и, возможно, блокируется. Закрепление выполняет одно из следующих действий:
- Отклоняет пример.
- Возвращает немедленно и обрабатывает пример в рабочем потоке.
- Обрабатывает образец перед возвратом.
Если закрепление использует рабочий поток для обработки примера, он содержит количество ссылок на пример. В любом случае выходной контакт не может напрямую повторно использовать этот пример. Чтобы получить новый пример, необходимо вызвать метод IMemAllocator::GetBuffer .
Если этот метод возвращает S_FALSE или код ошибки, фильтр вышестоящий должен прекратить отправку примеров, пока граф не остановит или не завершит операцию очистки. Типичные причины S_FALSE возвращаемого значения:
- Нижестоящий контакт очищается; то есть он получил вызов BeginFlush и еще не получил вызов EndFlush .
- Нижестоящий фильтр обнаружил конец потока. (См. раздел Уведомления об окончании Stream.)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |