Составители:
Функция mmioOpen() открывает файл и управляет параметрами его буфера.
HMMIO mmioOpen( LPTSTR lpszFilename, // имя открываемого файла
LPMMIOINFO lpmmioinfo, // место для размещения
// информации о файле
DWORD fdwOpen ); // флаги
Первый параметр содержит имя файла, второй - информацию о его текущем со-
стоянии. Если вы не хотите изменять настройки, заданные по умолчанию, например
размер буфера ввода/вывода (8 Кб), параметр lpmmioinfo должен содержать значение
NULL. Третий параметр содержит набор флагов. Ниже представлены некоторые из них.
MMIO_READ - Допускает только чтение файла.
MMIO_WRITE - Допускает только запись файла.
MMIO_READWRIТЕ - Допускает чтение и запись файла.
MMIO_CREATE - Создает новый файл.
MMIO_DELETE - Удаляет существующий файл.
MMIO_EXCLUSIVE - Предотвращает использование файла другими программами.
MMIO_DENYWRITE - Предотвращает изменение файла другими программами.
MMIO_ALLOCBUF - Обеспечивает буферизацию ввода/вывода.
В библиотеках языка С функция fopen начинает буферизованный ввод/вывод, а
функция _open - небуферизованный ввод/вывод. Аналогичные действия можно задать с
помощью флага MMIO_ALLOCBUF. Система откликается на соответствующую ко-
манду выделением буфера, размер которого задан по умолчанию (8 Кб). Чтобы увели-
чить или уменьшить размер буфера, нужно указать соответствующее значение в струк-
туре MMIOINFO или вызвать функцию mmioSetBuffer().
Функция mmioOpen() возвращает дескриптор мультимедийного файла. Такие деск-
рипторы не совместимы с дескрипторами других файлов и их нельзя использовать с
другими файловыми функциями С-библиотек или функциями подсистемы Win32.
Функции mmioRead(), mmioWrite() и mmioClose() выполняют с мультимедийными
файлами операции чтения, записи и закрытия соответственно.
Ряд функций ввода/вывода специально ориентирован на выполнение операций с
блоками данных. Чтобы добавить в файл новый блок, следует вызвать функцию mmio-
CreateChunk(). Эта команда записывает заголовок блока, включающий тег, размер, а
также (для блоков RIFF и LI ST) код содержимого и устанавливает позицию указателя
файла на том байте, с которого начнется запись двоичных данных с помощью функции
mmioWrite().
MMRESULT mmioCreateChunk( HMMIO hmmio, // дескриптор RIFF-файла
LPMMCKINFO lpmmcki, // описание нового блока
UINT uOptions ); // параметры создания
Для записи блоков RIFF и LIST установите флаги MMIO_CREATERIFF и
MMIO_CREATELIST соответственно.
Для перемещения указателя файла от блока к блоку служат функции
mmioDescend() и mmioAscend(). Первая перемещает указатель на начало блока данных, а
вторая - на его конец.
MMRESULT mmioDescend( HMMIO hmmio, // дескриптор RIFF-файла
LPMMCKINFO lpmmcki, // место для записи
// информации о блоке
232
Функция mmioOpen() открывает файл и управляет параметрами его буфера. HMMIO mmioOpen( LPTSTR lpszFilename, // имя открываемого файла LPMMIOINFO lpmmioinfo, // место для размещения // информации о файле DWORD fdwOpen ); // флаги Первый параметр содержит имя файла, второй - информацию о его текущем со- стоянии. Если вы не хотите изменять настройки, заданные по умолчанию, например размер буфера ввода/вывода (8 Кб), параметр lpmmioinfo должен содержать значение NULL. Третий параметр содержит набор флагов. Ниже представлены некоторые из них. MMIO_READ - Допускает только чтение файла. MMIO_WRITE - Допускает только запись файла. MMIO_READWRIТЕ - Допускает чтение и запись файла. MMIO_CREATE - Создает новый файл. MMIO_DELETE - Удаляет существующий файл. MMIO_EXCLUSIVE - Предотвращает использование файла другими программами. MMIO_DENYWRITE - Предотвращает изменение файла другими программами. MMIO_ALLOCBUF - Обеспечивает буферизацию ввода/вывода. В библиотеках языка С функция fopen начинает буферизованный ввод/вывод, а функция _open - небуферизованный ввод/вывод. Аналогичные действия можно задать с помощью флага MMIO_ALLOCBUF. Система откликается на соответствующую ко- манду выделением буфера, размер которого задан по умолчанию (8 Кб). Чтобы увели- чить или уменьшить размер буфера, нужно указать соответствующее значение в струк- туре MMIOINFO или вызвать функцию mmioSetBuffer(). Функция mmioOpen() возвращает дескриптор мультимедийного файла. Такие деск- рипторы не совместимы с дескрипторами других файлов и их нельзя использовать с другими файловыми функциями С-библиотек или функциями подсистемы Win32. Функции mmioRead(), mmioWrite() и mmioClose() выполняют с мультимедийными файлами операции чтения, записи и закрытия соответственно. Ряд функций ввода/вывода специально ориентирован на выполнение операций с блоками данных. Чтобы добавить в файл новый блок, следует вызвать функцию mmio- CreateChunk(). Эта команда записывает заголовок блока, включающий тег, размер, а также (для блоков RIFF и LI ST) код содержимого и устанавливает позицию указателя файла на том байте, с которого начнется запись двоичных данных с помощью функции mmioWrite(). MMRESULT mmioCreateChunk( HMMIO hmmio, // дескриптор RIFF-файла LPMMCKINFO lpmmcki, // описание нового блока UINT uOptions ); // параметры создания Для записи блоков RIFF и LIST установите флаги MMIO_CREATERIFF и MMIO_CREATELIST соответственно. Для перемещения указателя файла от блока к блоку служат функции mmioDescend() и mmioAscend(). Первая перемещает указатель на начало блока данных, а вторая - на его конец. MMRESULT mmioDescend( HMMIO hmmio, // дескриптор RIFF-файла LPMMCKINFO lpmmcki, // место для записи // информации о блоке 232
Страницы
- « первая
- ‹ предыдущая
- …
- 228
- 229
- 230
- 231
- 232
- …
- следующая ›
- последняя »