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


Функция mmioGetInfo (mmiscapi.h)

Функция mmioGetInfo извлекает сведения о файле, открытом с помощью функции mmioOpen . Эти сведения позволяют приложению напрямую обращаться к буферу ввода-вывода, если файл открыт для буферизованного ввода-вывода.

Синтаксис

MMRESULT mmioGetInfo(
  HMMIO      hmmio,
  LPMMIOINFO pmmioinfo,
  UINT       fuInfo
);

Параметры

hmmio

Дескриптор файла.

pmmioinfo

Указатель на буфер, получающий структуру MMIOINFO , которую mmioGetInfo заполняет сведениями о файле.

fuInfo

Защищены; значение должно быть равно нулю.

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

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

Комментарии

Для прямого доступа к буферу ввода-вывода файла, открытого для буферизованного ввода-вывода, используйте следующие элементы структуры MMIOINFO , заполненные mmioGetInfo:

  • Элемент pchNext указывает на следующий байт в буфере, который можно считать или записать. При чтении или записи увеличьте pchNext на количество прочитанных или записанных байтов.
  • Элемент pchEndRead указывает на 1 байт после последнего допустимого байта в буфере, который можно считать.
  • Элемент pchEndWrite указывает на 1 байт после последнего расположения в буфере, который можно записать.
После чтения или записи в буфер и изменения pchNext не вызывайте функции ввода-вывода мультимедийных файлов, кроме mmioAdvance , пока не вызовете функцию mmioSetInfo . Вызовите mmioSetInfo , когда завершите прямой доступ к буферу.

При достижении конца буфера, указанного элементом pchEndRead или pchEndWrite , вызовите mmioAdvance , чтобы заполнить буфер с диска или записать буфер на диск. Функция mmioAdvance обновляет элементы pchNext, pchEndRead и pchEndWrite в структуре MMIOINFO для файла.

Перед вызовом mmioAdvance или mmioSetInfo для очистки буфера на диск установите флаг MMIO_DIRTY в элементе dwFlags структуры MMIOINFO для файла. В противном случае буфер не будет записан на диск.

Не уменьшайте pchNext и не изменяйте элементы в структуре MMIOINFO , отличные от pchNext и dwFlags. Не устанавливайте флаги в dwFlags , кроме MMIO_DIRTY.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header mmiscapi.h (включая Mmiscapi.h, Windows.h)
Библиотека Winmm.lib
DLL Winmm.dll