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


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

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

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

Синтаксис

HRESULT AllocCapFile(
  [in] LPCOLESTR lpstr,
  [in] DWORDLONG dwlSize
);

Параметры

[in] lpstr

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

[in] dwlSize

Размер выделяемого файла в байтах.

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Этот метод завершается ошибкой, если файл доступен только для чтения.

Лучше выделить как можно больше места— в идеале больше, чем требуется. Однако это может привести к созданию очень большого файла, содержащего относительно мало данных. Например, файл записи размером 1 ГБ может содержать несколько мегабайт захваченного видео. Используйте метод ICaptureGraphBuilder2::CopyCaptureFile , чтобы скопировать данные в новый файл. Этот метод копирует только данные и игнорирует пустую часть исходного файла.

Если вы используете этот метод для предварительного выделения файла, вызовите метод IFileSinkFilter2::SetMode в фильтре модуля записи файлов с нулевым значением. Если для фильтра задано значение AM_FILE_OVERWRITE, он удалит предварительно подготовленный файл. Обратите внимание, что некоторые фильтры записи файлов не поддерживают режим 0.

Требования

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

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

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

Интерфейс ICaptureGraphBuilder2