Метод IEnumMediaTypes::Next (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод Next извлекает указанное количество типов мультимедиа.
Синтаксис
HRESULT Next(
[in] ULONG cMediaTypes,
[out] AM_MEDIA_TYPE **ppMediaTypes,
[out] ULONG *pcFetched
);
Параметры
[in] cMediaTypes
Количество извлекаемых типов мультимедиа.
[out] ppMediaTypes
Адрес массива указателей AM_MEDIA_TYPE . Число элементов в массиве задается в параметре cMediaTypes .
[out] pcFetched
Получает количество типов мультимедиа, возвращаемых в ppMediaTypes. Этот параметр может иметь значение NULL, если cMediaTypes имеет значение 1.
Возвращаемое значение
Возвращает одно из следующих значений HRESULT .
Код возврата | Описание |
---|---|
|
Не удалось получить столько типов мультимедиа, сколько запрошено. |
|
Успешно. |
|
Недопустимый аргумент. |
|
Аргумент указателя NULL. |
|
Состояние закрепления изменилось и теперь несовместимо с перечислителем. |
Комментарии
Вызывающий объект передает массив указателей AM_MEDIA_TYPE в ppMediaTypes. Метод выделяет число AM_MEDIA_TYPE структур, равное cMediaTypes или числу типов мультимедиа, оставшихся в перечислении, в зависимости от того, какие из них меньше. Число выделенных структур возвращается в pcFetched. Удалите каждую структуру, вызвав функцию DeleteMediaType .
Если набор типов мультимедиа изменяется, перечислитель становится несогласованным с закреплением-владельцем. В этом случае метод возвращает VFW_E_ENUM_OUT_OF_SYNC. Отмените все данные, полученные при предыдущих вызовах перечислителя, так как они могут быть недопустимыми. Обновите перечислитель, вызвав метод IEnumMediaTypes::Reset . Затем можно безопасно вызвать метод Next .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |
См. также раздел
Перечисление типов мультимедиа