mmioGetInfo 函数 (mmiscapi.h)

mmioGetInfo 函数检索有关使用 mmioOpen 函数打开的文件的信息。 如果为缓冲 I/O 打开了文件,则此信息允许应用程序直接访问 I/O 缓冲区。

语法

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

parameters

hmmio

文件的文件句柄。

pmmioinfo

指向缓冲区的指针,该缓冲区接收 mmioGetInfo 填充有关文件的信息 的 MMIOINFO 结构。

fuInfo

保留;必须为零。

返回值

如果成功,则返回零,否则返回错误。

注解

若要直接访问为缓冲 I/O 打开的文件的 I/O 缓冲区,请使用由 mmioGetInfo 填充的 MMIOINFO 结构的以下成员:

  • pchNext 成员指向缓冲区中可以读取或写入的下一个字节。 读取或写入时,按读取或写入的字节数递增 pchNext
  • pchEndRead 成员指向缓冲区中可读取的最后一个有效字节后的 1 个字节。
  • pchEndWrite 成员指向缓冲区中可写入的最后一个位置的 1 个字节。
读取或写入缓冲区并修改 pchNext 后,请勿调用除 mmioAdvance 以外的任何多媒体文件 I/O 函数,直到调用 mmioSetInfo 函数。 直接访问缓冲区后,调用 mmioSetInfo

到达 pchEndReadpchEndWrite 成员指定的缓冲区末尾时,调用 mmioAdvance 以从磁盘填充缓冲区或将缓冲区写入磁盘。 mmioAdvance 函数更新文件的 MMIOINFO 结构中的 pchNextpchEndReadpchEndWrite 成员。

在调用 mmioAdvancemmioSetInfo 将缓冲区刷新到磁盘之前,请在文件的 MMIOINFO 结构的 dwFlags 成员中设置MMIO_DIRTY标志。 否则,缓冲区将不会写入磁盘。

请勿递减 pchNext 或修改除 pchNextdwFlags 以外的 MMIOINFO 结构中的任何成员。 请勿在 dwFlags 中设置除MMIO_DIRTY以外的任何标志。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mmiscapi.h (包括 Mmiscapi.h、Windows.h)
Library Winmm.lib
DLL Winmm.dll