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


Метод IAMStreamConfig::GetFormat (strmif.h)

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

Метод GetFormat извлекает текущий или предпочтительный формат вывода.

Синтаксис

HRESULT GetFormat(
  [out] AM_MEDIA_TYPE **ppmt
);

Параметры

[out] ppmt

Адрес указателя на структуру AM_MEDIA_TYPE .

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

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

Код возврата Описание
S_OK
Успешно.
E_OUTOFMEMORY
Недостаточно памяти.
E_POINTER
Значение указателя NULL .
VFW_E_NOT_CONNECTED
Контакт ввода не подключен.

Комментарии

Если контакт подключен, этот метод возвращает формат, который в данный момент используется контактом. В противном случае метод возвращает предпочтительный формат контакта для следующего соединения контактов. Если вы уже вызвали метод IAMStreamConfig::SetFormat для задания формата, GetFormat возвращает тот же формат. В противном случае он возвращает первый формат в списке предпочтительных форматов контакта, как определено методом IPin::EnumMediaTypes .

Метод выделяет память для структуры AM_MEDIA_TYPE , заполняет структуру и возвращает ее в параметре pmt . Вызывающий объект должен освободить память, включая блок форматирования. Вспомогательную функцию DeleteMediaType можно использовать в библиотеке базовых классов.

В некоторых фильтрах сжатия метод завершается ошибкой, если входной контакт фильтра не подключен.

Примеры

C++
IAMStreamConfig *pConfig = NULL;
// Query the output pin for IAMStreamConfig (not shown).
AM_MEDIA_TYPE *pmt = NULL;
hr = pConfig->GetFormat(&pmt);
if (SUCCEEDED(hr))
{
    /* Examine the media type for any information you need. */
    DeleteMediaType(pmt);
}
pConfig->Release();

Требования

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

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

Коды ошибок и успешности

Интерфейс IAMStreamConfig