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


Функция AVIFileOpen (vfw.h)

Функция AVIFileOpen открывает файл AVI и возвращает адрес файлового интерфейса, используемого для доступа к нему. Библиотека AVIFile поддерживает количество открытий файла, но не количество раз его освобождения. Используйте функцию AVIFileRelease для освобождения файла и уменьшения количества.

Синтаксис

HRESULT AVIFileOpen(
  PAVIFILE *ppfile,
  LPCSTR   szFile,
  UINT     uMode,
  LPCLSID  lpHandler
);

Параметры

ppfile

Указатель на буфер, который получает новый указатель интерфейса IAVIFile .

szFile

Строка, завершающаяся значением NULL, содержащая имя открываемого файла.

uMode

Режим доступа, используемый при открытии файла. Режим доступа по умолчанию — OF_READ. С помощью AVIFileOpen можно указать следующие режимы доступа.

Значение Значение
OF_CREATE Создает новый файл. Если файл уже существует, он усекается до нулевой длины.
OF_PARSE Пропускает трудоемкие операции, такие как создание индекса. Установите этот флаг, если требуется, чтобы функция возвращала как можно быстрее, например, если вы собираетесь запрашивать свойства файла, но не читать файл.
OF_READ Открывает файл для чтения.
OF_READWRITE Открывает файл для чтения и записи.
OF_SHARE_DENY_NONE Открывает файл неисключительно. Другие процессы могут открывать файл с доступом на чтение или запись. AVIFileOpen завершается ошибкой , если другой процесс открыл файл в режиме совместимости.
OF_SHARE_DENY_READ Открывает файл неисключительно. Другие процессы могут открывать файл с доступом на запись. AVIFileOpen завершается сбоем , если другой процесс открыл файл в режиме совместимости или имеет к нему доступ на чтение.
OF_SHARE_DENY_WRITE Открывает файл неисключительно. Другие процессы могут открывать файл с доступом на чтение. AVIFileOpen завершается ошибкой , если другой процесс открыл файл в режиме совместимости или имеет к нему доступ на запись.
OF_SHARE_EXCLUSIVE Открывает файл и запрещает другим процессам доступ к нему. AVIFileOpen завершается ошибкой , если какой-либо другой процесс открыл файл.
OF_WRITE Открывает файл для записи.

lpHandler

Указатель на идентификатор класса стандартного или пользовательского обработчика, который вы хотите использовать. Если значение равно NULL, система выбирает обработчик из реестра на основе расширения файла или типа RIFF, указанного в файле.

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

Возвращает ноль при успешном выполнении или ошибке в противном случае. Возможные значения ошибок:

Код возврата Описание
AVIERR_BADFORMAT
Не удалось прочитать файл, что указывает на поврежденный файл или нераспознанный формат.
AVIERR_MEMORY
Не удалось открыть файл из-за нехватки памяти.
AVIERR_FILEREAD
Ошибка диска при чтении файла.
AVIERR_FILEOPEN
При открытии файла произошла ошибка диска.
REGDB_E_CLASSNOTREG
Согласно реестру, тип файла, указанный в AVIFileOpen , не имеет обработчика для его обработки.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header vfw.h
Библиотека Vfw32.lib
DLL Avifil32.dll

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

Функции AVIFile

Функции и макросы AVIFile

AVIFileRelease