Функция обратного вызова MMIOPROC (mmiscapi.h)
Функция MMIOProc — это пользовательская процедура ввода-вывода, установленная функцией mmioInstallIOProc . MMIOProc — это заполнитель для имени определяемой приложением функции. Адрес этой функции можно указать в параметре callback-address объекта mmioInstallIOProc.
Синтаксис
MMIOPROC Mmioproc;
LRESULT Mmioproc(
LPSTR lpmmioinfo,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
)
{...}
Параметры
lpmmioinfo
Указывает на структуру MMIOINFO , содержащую сведения об открытом файле.
Процедура ввода-вывода должна поддерживать элемент lDiskOffset в этой структуре, чтобы указать смещение файла к следующему расположению чтения или записи. Процедура ввода-вывода может использовать член adwInfo[] для хранения сведений о состоянии. Процедура ввода-вывода не должна изменять другие элементы структуры MMIOINFO .
uMsg
Указывает сообщение, указывающее запрошенную операцию ввода-вывода. К таким сообщениям относятся MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITE и MMIOM_WRITEFLUSH.
lParam1
Задает определяемый приложением параметр для сообщения.
lParam2
Задает определяемый приложением параметр для сообщения.
Возвращаемое значение
Возвращаемое значение зависит от сообщения, указанного uMsg. Если процедура ввода-вывода не распознает сообщение, она должна возвращать ноль.
Комментарии
Четырехзначный код, заданный членом fccMMIOProc в структуре MMIOINFO , связанной с файлом, определяет расширение имени файла для пользовательской системы хранения. Когда приложение вызывает mmioOpen с именем файла, например "one.xyz+two", вызывается процедура ввода-вывода, связанная с четырехзначным кодом "XYZ", чтобы открыть элемент "two" файла "one.xyz".
Функция mmioInstallIOProc поддерживает отдельный список установленных процедур ввода-вывода для каждого приложения windows. Поэтому разные приложения могут использовать один и тот же идентификатор процедуры ввода-вывода для разных процедур ввода-вывода без конфликтов. Однако установка процедуры ввода-вывода глобально позволяет любому процессу использовать процедуру.
Если приложение вызывает mmioInstallIOProc несколько раз для регистрации той же процедуры ввода-вывода, оно должно вызывать mmioInstallIOProc , чтобы удалить процедуру один раз при каждой установке процедуры.
mmioInstallIOProc не запрещает приложению устанавливать две разные процедуры ввода-вывода с одинаковым идентификатором или процедуру ввода-вывода с одним из предопределенных идентификаторов ("DOS", "MEM"). Последняя установленная процедура имеет приоритет, а последняя установленная процедура является первой процедурой, которую нужно удалить.
При поиске указанной процедуры ввода-вывода сначала выполняются локальные процедуры, а затем глобальные процедуры.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | mmiscapi.h (включая Mmiscapi.h, Windows.h) |