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

MmioProc

LRESULT MMIOProc( LPSTR lpmmioinfo, UINT uMsg, LONG lParam1, LONG lParam2 );

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

Возвращаемое значение зависит от сообщения, указанного в аргументе uMsg. Если процедура ввода/вывода не смогла распознать сообщение, она должна возвратить нулевое значение.

Аргументы

  1. lpmmioinfo — указатель на объект структуры MMIOINFO, содержащей информацию об открытом файле.

  2. Процедура ввода/вывода должна использовать переменную lDiskOffset данного объекта структуры для передачи текущей позиции чтения и записи в файле. Для передачи информации о состоянии следует использовать переменную adwInfo[]. Процедура ввода/вывода не должна изменять значения остальных членов переданного ей объекта структуры MMIOINFO.

  3. uMsg — сообщение, определяющее выполняемую операцию ввода/вывода. Могут быть использованы следующие сообщения: MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITE и MMIOM_WRITEFLUSH.

  4. lParam1 — определяемый приложением первый аргумент сообщения.

  5. lParam2 — определяемый приложением второй аргумент сообщения.

Примечание

Функция MMIOProc представляет собой пользовательскую процедуру ввода/вывода, установленную функцией mmioInstallIOProc. Имя функции MMIOProc является условным и может быть заменено другим именем, не используемым другими функциями. Указатель на эту функцию может быть указан в аргументе pIOProc функции mmioInstallIOProc.

Четырёхбуквенный идентификатор, определённый в переменной fccMMIOProc объекта структуры MMIOINFO, связанного с файлом, определяет расширение файла, используемое пользовательской системой хранения информации. Когда приложение при вызове функции mmioOpen указывает имя файла в формате one.xyz+two, вызывается процедура ввода/вывода, связанная с четырехбуквенным идентификатором XYZ для открытия элемента two в файле one.xyz.

Функция mmioInstallIOProc составляет отдельный список установленных процедур ввода/вывода для каждого приложения Windows. Поэтому различные приложения могут использовать один и тот же идентификатор для различных процедур ввода/вывода, не создавая при этом конфликтных ситуаций. Это утверждение несправедливо для глобально установленных процедур, поскольку глобальную процедуру, установленную одним приложением, могут использовать все активные процессы в системе.

Если приложение неоднократно вызывает функцию mmioInstallIOProc для регистрации одной и той же процедуры ввода/вывода, то количество вызовов функции mmioInstallIOProc для полного удаления данной процедуры из системы должно соответствовать числу вызовов данной функции для её установки.

Функция mmioInstallIOProc позволяет назначить один и тот же идентификатор двум различным процедурам ввода/вывода или использовать для процедуры ввода/вывода один из системных идентификаторов (DOS, MEM). При использовании данного идентификатора вызывается последняя связанная с ним процедура, она же первой удаляется из системы.

При поиске указанной процедуры ввода/вывода первыми просматриваются локальные процедуры, и только поле них — глобальные.

Описание данной функции содержится в файле заголовка mmsystem.h. При работе с данной функцией следует включить в проект библиотеку winmm.lib.

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