Compartir a través de


Función de devolución de llamada MMIOPROC (mmiscapi.h)

La función MMIOProc es un procedimiento personalizado de entrada y salida (E/S) instalado por la función mmioInstallIOProc . MMIOProc es un marcador de posición para el nombre de función definido por la aplicación. La dirección de esta función se puede especificar en el parámetro callback-address de mmioInstallIOProc.

Sintaxis

MMIOPROC Mmioproc;

LRESULT Mmioproc(
  LPSTR lpmmioinfo,
  UINT uMsg,
  LPARAM lParam1,
  LPARAM lParam2
)
{...}

Parámetros

lpmmioinfo

Apunta a una estructura MMIOINFO que contiene información sobre el archivo abierto.

El procedimiento de E/S debe mantener el miembro lDiskOffset en esta estructura para indicar el desplazamiento del archivo a la siguiente ubicación de lectura o escritura. El procedimiento de E/S puede usar el miembro adwInfo[] para almacenar información de estado. El procedimiento de E/S no debe modificar ningún otro miembro de la estructura MMIOINFO .

uMsg

Especifica un mensaje que indica la operación de E/S solicitada. Los mensajes que se pueden recibir incluyen MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITE y MMIOM_WRITEFLUSH.

lParam1

Especifica un parámetro definido por la aplicación para el mensaje.

lParam2

Especifica un parámetro definido por la aplicación para el mensaje.

Valor devuelto

El valor devuelto depende del mensaje especificado por uMsg. Si el procedimiento de E/S no reconoce un mensaje, debe devolver cero.

Comentarios

El código de cuatro caracteres especificado por el miembro fccMMIOProc en la estructura MMIOINFO asociada a un archivo identifica una extensión de nombre de archivo para un sistema de almacenamiento personalizado. Cuando una aplicación llama a mmioOpen con un nombre de archivo como "one.xyz+two", se llama al procedimiento de E/S asociado al código de cuatro caracteres "XYZ" para abrir el elemento "dos" del archivo "one.xyz".

La función mmioInstallIOProc mantiene una lista independiente de procedimientos de E/S instalados para cada aplicación basada en Windows. Por lo tanto, diferentes aplicaciones pueden usar el mismo identificador de procedimiento de E/S para diferentes procedimientos de E/S sin conflictos. Sin embargo, la instalación de un procedimiento de E/S globalmente permite que cualquier proceso use el procedimiento .

Si una aplicación llama a mmioInstallIOProc más de una vez para registrar el mismo procedimiento de E/S, debe llamar a mmioInstallIOProc para quitar el procedimiento una vez para cada vez que instaló el procedimiento.

mmioInstallIOProc no impedirá que una aplicación instale dos procedimientos de E/S diferentes con el mismo identificador, o bien instalar un procedimiento de E/S con uno de los identificadores predefinidos ("DOS ", "MEM"). El procedimiento instalado más recientemente tiene prioridad y el procedimiento instalado más recientemente es el primero que se va a quitar.

Al buscar un procedimiento de E/S especificado, primero se buscan procedimientos locales y, a continuación, procedimientos globales.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mmiscapi.h (incluye Mmiscapi.h, Windows.h)