Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

Mmckinfo

typedef struct {

FOURCC ckid;

DWORD cksize;

FOURCC fccType;

DWORD dwDataOffset;

DWORD dwFlags;

} MMCKINFO;

Переменные

  1. ckid — идентификатор вложенного блока.

  2. cksize — размер области данных вложенного блока в байтах. Этот размер не включает в себя 4-байтный идентификатор вложенного блока, 4-байтный размер области данных блока и нулевой байт, который может быть добавлен в конец области данных для выравнивания её по границе слова.

  3. fccType — идентификатор типа данных для блока RIFF или идентификатор типа списка для вложенного блока LIST.

  4. dwDataOffset — смещение данного вложенного блока от начала файла.

  5. dwFlags — флаги, содержащие дополнительную информацию о вложенном блоке. Может принимать нулевое значение или в ней может быть установлен следующий флаг:

  • MMIO_DIRTY — длина вложенного блока может измениться и должна быть скорректирована функцией mmioAscend. Этот флаг устанавливается при создании вложенного блока функцией mmioCreateChunk.

Примечание

Объект структуры MMCKINFO содержит информацию о вложенном блоке мультимедийного файла формата RIFF.

Описание данной структуры содержится в файле заголовка mmsystem.h.

Mmioinfo

typedef struct {

DWORD dwFlags;

FOURCC fccIOProc;

LPMMIOPROC pIOProc;

UINT wErrorRet;

HTASK hTask;

LONG cchBuffer;

HPSTR pchBuffer;

HPSTR pchNext;

HPSTR pchEndRead;

HPSTR pchEndWrite;

LONG lBufOffset;

LONG lDiskOffset;

DWORD adwInfo[4];

DWORD dwReserved1;

DWORD dwReserved2;

HMMIO hmmio;

} MMIOINFO;

Переменные

  1. dwFlags — флаги, определяющие режим открытия файла. Определены следующие значения:

  • MMIO_ALLOCBUF — буфера для работы с файлами создаются функциями mmioOpen и mmioSetBuffer.

  • MMIO_CREATE — функция mmioOpen создаёт файл (или усекает существующий файл до нулевой длины).

  • MMIO_DIRTY — в буфер ввода/вывода были внесены изменения.

  • MMIO_EXIST — проверяет существование файла.

  • MMIO_GETTEMP — функция mmioOpen создала имя временного файла.

  • MMIO_PARSE — возвращается новый путь к файлу.

При открытии файла в режиме совместимости (при установке флага MMIO_SHAREMODE) могут использоваться следующие флаги:

  • MMIO_COMPAT — файл открывается в режиме совместимости, позволяя любому процессу на данном компьютере открывать данный файл любое количество раз.

  • MMIO_DENYNONE — другие процессы получают доступ по чтению и записи к данному файлу.

  • MMIO_DENYREAD — другим процессам запрещён доступ к данному файлу по чтению.

  • MMIO_DENYWRITE — другим процессам запрещён доступ к данному файлу по записи.

  • MMIO_EXCLUSIVE — другим процессам запрещён доступ к данному файлу по чтению и записи.

При открытии файла в режиме чтения и записи (при установке флага MMIO_RWMODE) могут использоваться следующие флаги:

  • MMIO_READ — файл открыт только для чтения.

  • MMIO_READWRITE — файл открыт для чтения и записи.

  • MMIO_WRITE — файл открыт только для записи.

  1. fccIOProc — четырёхбуквенный код, идентифицирующий процедуру ввода/вывода файла. Если процедура ввода/вывода не инсталлирована, эта переменная имеет нулевое значение.

  2. pIOProc — указатель на процедуру ввода/вывода файла.

  3. wErrorRet — расширенное значение ошибки, когда функция mmioOpen возвращает нулевое значение. Эта переменная не используется для возврата расширенного значения ошибки любой другой функцией.

  4. hTask — дескриптор локальной процедуры ввода/вывода. Эта переменная может использоваться устройствами MCI для указания локальной процедуры фонового ввода/вывода.

  5. chBuffer — размер буфера ввода/вывода файла в байтах. Если файл не использует буфера ввода/вывода, эта переменная должна иметь нулевое значение.

  6. pchBuffer — указатель на буфер ввода/вывода файла. Если файл не использует буфера ввода/вывода, эта переменная должна иметь нулевое значение.

  7. pchNext — указатель на следующий буфер ввода/вывода, используемый для чтения или для записи. Если для продолжения чтения необходимо вызвать функцию mmioAdvance или mmioRead данная переменная указывает на переменную pchEndRead. Если для продолжения записи необходимо вызвать функцию mmioAdvance или mmioWrite данная переменная указывает на переменную pchEndWrite.

  8. pchEndRead — указатель на позицию, расположенную на 1 байт далее последней позиции в буфере, которая может быть считана.

  9. pchEndWrite — указатель на позицию, расположенную на 1 байт далее последней позиции в буфере, которая может быть записана.

  10. lBufOffset — зарезервирована для дальнейшего использования.

  11. lDiskOffset — текущая позиция, представляющая собой смещение в байтах от начала файла. За корректность значения этой переменной отвечает процедура ввода/вывода.

  12. adwInfo — информация о состоянии, записываемая процедурой ввода/вывода. Процедура ввода/вывода может использовать значение данной переменной для передачи информации от приложения процедуре ввода/вывода при открытии приложением файла.

  13. dwReserved1 — зарезервирована для дальнейшего использования.

  14. dwReserved2 — зарезервирована для дальнейшего использования.

  15. hmmio — дескриптор открытого файла, возвращённый функцией mmioOpen. Процедура ввода/вывода может использовать данный дескриптор при вызове других мультимедийных функций ввода/вывода.

Примечание

Объекта структуры MMIOINFO содержит текущее состояние файла, открытого функцией mmioOpen.

Описание данной структуры содержится в файле заголовка mmsystem.h.

MMTIME

typedef struct mmtime_tag {

UINT wType;

union {

DWORD ms;

DWORD sample;

DWORD cb;

DWORD ticks;

struct {

BYTE hour;

BYTE min;

BYTE sec;

BYTE frame;

BYTE fps;

BYTE dummy;

BYTE pad[2]

} smpte;

struct {

DWORD songptrpos;

} midi;

} u;

} MMTIME;

Переменные

  1. wType — формат времени. Может принимать следующие значения:

  • TIME_BYTES — текущее смешение от начала файла, выраженное в байтах.

  • TIME_MIDI — время в формате MIDI.

  • TIME_MS — время в миллисекундах.

  • TIME_SAMPLES — число отсчётов фрагмента аудио информации.

  • TIME_SMPTE — время в формате SMPTE.

  • TIME_TICKS — такты потока MIDI.

  1. ms — число миллисекунд. Используется, если в переменной wType содержится значение TIME_MS.

  2. sample — число отсчётов фрагмента аудио информации. Используется, если в переменной wType содержится значение TIME_SAMPLES.

  3. cb — число байт. Используется, если в переменной wType содержится значение TIME_BYTES.

  4. ticks — число тактов потока MIDI. Используется, если в переменной wType содержится значение TIME_TICKS.

  5. smpte — временная структура SMPTE. Используется, если в переменной wType содержится значение TIME_SMPTE.

  6. songptrpos — позиция курсора воспроизведения.

  7. midi — временная структура MIDI. Используется, если в переменной wType содержится значение TIME_MIDI.

  8. hour — часы.

  9. min — минуты.

  10. sec — секунды.

  11. frame — кадры.

  12. fps — число кадров в секунду (24, 25, 29 (30 прим) или 30).

  13. dummy — пустой байт, используемый для выравнивания размера структуры.

  14. pad — фон.

Примечание

Объект структуры MMTIME содержит временную информацию, используемую в различных типах данных мультимедиа.

Описание данной структуры содержится в файле заголовка mmsystem.h.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]