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


Метод ICaptureGraphBuilder2::CopyCaptureFile (strmif.h)

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

Метод CopyCaptureFile копирует допустимые данные мультимедиа из файла записи.

Синтаксис

HRESULT CopyCaptureFile(
  [in] LPOLESTR                   lpwstrOld,
  [in] LPOLESTR                   lpwstrNew,
  [in] int                        fAllowEscAbort,
  [in] IAMCopyCaptureFileProgress *pCallback
);

Параметры

[in] lpwstrOld

Указатель на строку расширенных символов, содержащую имя исходного файла.

[in] lpwstrNew

Указатель на строку расширенных символов, содержащую имя целевого файла. Допустимые данные копируются в этот файл.

[in] fAllowEscAbort

Логическое значение, указывающее, отменяет ли нажатие клавиши ESC операцию копирования. Если значение равно TRUE и пользователь нажимает клавишу ESC, операция останавливается. Если значение равно FALSE, метод игнорирует клавишу ESC.

[in] pCallback

Указатель на интерфейс IAMCopyCaptureFileProgress для отображения сведений о ходе выполнения или NULL. Дополнительные сведения см. в разделе "Примечания".

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

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

Код возврата Описание
S_FALSE
Пользователь отменил операцию до ее завершения.
S_OK
Успешно.
E_FAIL
Ошибка.
E_INVALIDARG
Не удалось открыть исходный или целевой файл.
E_OUTOFMEMORY
Недостаточно памяти.
E_POINTER
Аргумент указателя NULL.

Комментарии

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

Исходный и целевой файлы должны быть AVI-файлами. Другие типы файлов не поддерживаются.

Чтобы отобразить ход выполнения операции копирования, реализуйте интерфейс IAMCopyCaptureFileProgress и передайте указатель на интерфейс в параметре pCallback . Если pCallback не равно NULL, этот метод периодически вызывает метод IAMCopyCaptureFileProgress::P rogress с целым числом от 0 до 100, которое указывает процент завершения.

Требования

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

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

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

Интерфейс ICaptureGraphBuilder2