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


Метод CBasePin.QueryAccept

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

Метод QueryAccept определяет, принимает ли закрепление указанный тип мультимедиа. Этот метод реализует метод IPin::QueryAccept .

Синтаксис

HRESULT QueryAccept(
   const AM_MEDIA_TYPE *pmt
);

Параметры

Pmt

Указатель на структуру AM_MEDIA_TYPE , указывающую тип носителя.

Возвращаемое значение

Возвращает S_OK, если тип носителя допустим. В противном случае возвращает S_FALSE.

Комментарии

В базовом классе этот метод делегирует методу CBasePin::CheckMediaType . Если CheckMediaType завершается сбоем, QueryAccept возвращает S_FALSE.

Этот метод не содержит критически важный раздел закрепления (CBasePin::m_pLock). Если производный класс динамически изменяет набор допустимых типов носителей, необходимо переопределить этот метод для хранения критического раздела.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CBasePin