Метод CBaseFilter.JoinFilterGraph
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод JoinFilterGraph
уведомляет фильтр о том, что он присоединился к графу фильтра или покинул его. Этот метод реализует метод IBaseFilter::JoinFilterGraph .
Синтаксис
HRESULT JoinFilterGraph(
IFilterGraph *pGraph,
[in] LPCWSTR pName
);
Параметры
-
pGraph
-
Указатель на интерфейс IFilterGraph диспетчера графов фильтров или значение NULL , если фильтр покидает граф.
-
pName [in]
-
Указатель на строку Юникода, содержащую имя фильтра.
Возвращаемое значение
Возвращает S_OK.
Комментарии
Этот метод присваивает переменной-члену CBaseFilter::m_pGraph значение параметра pGraph . Он также запрашивает указатель интерфейса IMediaEventSink и сохраняет его в переменной-члене CBaseFilter::m_pSink . Однако фильтр не учитывает ссылки ни на один из этих интерфейсов. Это приведет к созданию циклического счетчика ссылок, так как диспетчер графа фильтров сохраняет количество ссылок на фильтре.
Метод копирует строку, указанную параметром pName , в переменную-член CBaseFilter::m_pName .
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|