MMIOPROC 回调函数 (mmiscapi.h)
MMIOProc 函数是由 mmioInstallIOProc 函数安装的自定义输入/输出 (I/O) 过程。 MMIOProc 是应用程序定义的函数名称的占位符。 可以在 mmioInstallIOProc 的 callback-address 参数中指定此函数的地址。
语法
MMIOPROC Mmioproc;
LRESULT Mmioproc(
LPSTR lpmmioinfo,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
)
{...}
参数
lpmmioinfo
指向包含有关打开的文件信息的 MMIOINFO 结构。
I/O 过程必须在此结构中维护 lDiskOffset 成员,以指示文件到下一个读取或写入位置的偏移量。 I/O 过程可以使用 adwInfo[] 成员来存储状态信息。 I/O 过程不应修改 MMIOINFO 结构的任何其他成员。
uMsg
指定一条消息,指示请求的 I/O 操作。 可以接收的消息包括 MMIOM_OPEN、 MMIOM_CLOSE、 MMIOM_READ、 MMIOM_SEEK、 MMIOM_WRITE和 MMIOM_WRITEFLUSH。
lParam1
为消息指定应用程序定义的参数。
lParam2
为消息指定应用程序定义的参数。
返回值
返回值取决于 uMsg 指定的消息。 如果 I/O 过程无法识别消息,则应返回零。
注解
由与文件关联的 MMIOINFO 结构中的 fccMMIOProc 成员指定的四个字符代码标识自定义存储系统的文件扩展名。 当应用程序使用文件名(如“one.xyz+two”)调用 mmioOpen 时,将调用与四个字符代码“XYZ”关联的 I/O 过程,以打开文件“one.xyz”的“two”元素。
mmioInstallIOProc 函数为每个基于 Windows 的应用程序维护已安装的 I/O 过程的单独列表。 因此,不同的应用程序可以对不同的 I/O 过程使用相同的 I/O 过程标识符,而不会发生冲突。 但是,全局安装 I/O 过程使任何进程都能够使用该过程。
如果应用程序多次调用 mmioInstallIOProc 来注册相同的 I/O 过程,则必须调用 mmioInstallIOProc ,以便在每次安装该过程时删除该过程一次。
mmioInstallIOProc 不会阻止应用程序安装两个具有相同标识符的不同 I/O 过程,也不会阻止安装具有 (“DOS”、“MEM”) 预定义标识符之一的 I/O 过程。 最近安装的过程优先,最近安装的过程是第一个要删除的过程。
搜索指定的 I/O 过程时,首先搜索本地过程,然后搜索全局过程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmiscapi.h (包括 Mmiscapi.h、Windows.h) |