Метод ICaptureGraphBuilder::SetOutputFileName (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Синтаксис
HRESULT SetOutputFileName(
[in] const GUID *pType,
[in] LPCOLESTR lpstrFile,
[out] IBaseFilter **ppf,
[out] IFileSinkFilter **ppSink
);
Параметры
[in] pType
Указатель на GUID , представляющий подтип носителя. Этот параметр должен содержать значение &MEDIASUBTYPE_Avi
.
[in] lpstrFile
Указатель на строку расширенных символов, содержащую имя выходного файла.
[out] ppf
Адрес указателя на интерфейс IBaseFilter , представляющий фильтр мультиплексера. Этот метод увеличивает количество ссылок в интерфейсе IBaseFilter , поэтому при использовании фильтра необходимо уменьшать количество ссылок с помощью метода Release для этого параметра.
[out] ppSink
Адрес указателя на интерфейс IFileSinkFilter , представляющий модуль записи файлов. Этот метод увеличивает количество ссылок в интерфейсе IFileSinkFilter, поэтому при использовании фильтра необходимо уменьшать число ссылок с помощью Release .
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Ошибка. |
|
Недопустимый аргумент. Audio-Video с чередованием (AVI) является единственным поддерживаемым форматом вывода. |
|
Недостаточно памяти. |
|
Аргумент указателя NULL. |
|
Произошла непредвиденная ошибка. |
|
Успешно. |
|
Экземпляр фильтра мультиплексоров AVI успешно создан. |
Комментарии
Этот метод вставляет мультиплексор и модуль записи файлов в граф фильтра и вызывает IFileSinkFilter::SetFileName , чтобы задать имя выходного файла.
Параметр ppf , возвращаемый этим методом, можно использовать в качестве параметра pfRenderer в вызовах RenderStream.
Параметр pSink из этого метода можно использовать в вызове SetFileName , чтобы изменить имя файла, заданное параметром ICaptureGraphBuilder::SetOutputFileName
.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Справка:_Dshowh |
Целевая платформа | Windows |
Header | strmif.h |
DLL | Quartz.dll |