Открытие и закрытие файлов

Приложение должно открыть файл AVI перед чтением или записью. Чтобы открыть AVI-файл, используйте функцию AVIFileOpen . AVIFileOpen возвращает адрес интерфейса AVI-файла, который содержит дескриптор открытого файла и увеличивает количество ссылок файла.

Функция AVIFileOpen поддерживает флаги OF, используемые с функцией OpenFile . Если приложение выполняет запись в существующий файл, оно должно включать флаг OF_WRITE в AVIFileOpen. Аналогичным образом, если приложение создает и записывает в новый файл, необходимо включить флаги OF_CREATE и OF_WRITE в AVIFileOpen.

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

Число ссылок файла можно увеличить с помощью функции AVIFileAddRef . Например, это может потребоваться при передаче дескриптора файлового интерфейса другому приложению или при необходимости сохранить файл открытым при использовании функции, которая обычно закрывает файл.

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

Примечание

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