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


Метод IFileSinkFilter::GetCurFile (strmif.h)

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

Метод GetCurFile извлекает имя и тип носителя текущего файла.

Синтаксис

HRESULT GetCurFile(
  [out] LPOLESTR      *ppszFileName,
  [out] AM_MEDIA_TYPE *pmt
);

Параметры

[out] ppszFileName

Адрес указателя, получающего имя файла в виде типа OLESTR .

[out] pmt

Указатель на структуру AM_MEDIA_TYPE , которая получает тип мультимедиа. Этот параметр может иметь значение NULL, в этом случае метод не возвращает тип носителя.

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

Возвращает значение HRESULT . Ниже приведены возможные значения.

Код возврата Описание
S_OK
Успешно.
E_FAIL
Файл не открывается.
E_OUTOFMEMORY
Недостаточно памяти.
E_POINTER
Аргумент указателя NULL в ppszFileName.

Комментарии

Если фильтр не открыл файл, метод может быть выполнен успешно, но возвращает значение NULL в параметре ppszFileName . Проверьте значение при возврате метода.

Метод выделяет память для строки, возвращаемой в ppszFileName, и памяти для блока форматирования в типе носителя (если таковой есть). Вызывающий объект должен освободить их, вызвав CoTaskMemFree. Для типа носителя можно использовать функцию FreeMediaType в библиотеке базовых классов.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешного выполнения

Интерфейс IFileSinkFilter