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


Метод IEnumPins::Clone (strmif.h)

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

Метод Clone создает копию перечислителя с тем же состоянием перечисления.

Синтаксис

HRESULT Clone(
  [out] IEnumPins **ppEnum
);

Параметры

[out] ppEnum

Получает указатель на интерфейс IEnumPins нового перечислителя. Вызывающий объект должен освободить интерфейс .

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

Возвращает одно из следующих значений HRESULT.

Код возврата Описание
S_OK
Успешно.
E_OUTOFMEMORY
Недостаточно памяти.
E_POINTER
Аргумент указателя NULL.
VFW_E_ENUM_OUT_OF_SYNC
Состояние фильтра изменилось и теперь не согласуется с перечислителем.

Комментарии

Если количество контактов изменяется, перечислитель больше не согласуется с фильтром, и метод возвращает VFW_E_ENUM_OUT_OF_SYNC. Удалите все данные, полученные в результате предыдущих вызовов перечислителя, так как они могут быть недопустимыми. Обновите перечислитель, вызвав метод IEnumPins::Reset . Затем можно безопасно вызвать Clone метод .

Требования

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

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

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

Интерфейс IEnumPins