执行内存文件 I/O
多媒体文件 I/O 服务允许将内存块视为文件。 如果内存中已有文件映像,这非常有用。 内存文件可减少代码中特殊情况的数量,因为出于 I/O 目的,可以将内存文件视为基于磁盘的文件。 还可以将内存文件与剪贴板一起使用。
与 I/O 缓冲区一样,内存文件可以使用应用程序或文件 I/O 管理器分配的内存。 此外,内存文件可以是可扩展的,也可以是不可扩展的。 当文件 I/O 管理器到达可扩展内存文件的末尾时,它会按预定义的增量扩展内存文件。
若要打开内存文件,请使用 mmioOpen 函数,其中 szFilename 参数设置为 NULL ,并在 dwOpenFlags 参数中设置MMIO_READWRITE标志。 将 lpmmioinfo 参数设置为指向已按如下方式设置的 MMIOINFO 结构:
- 将 pIOProc 成员设置为 NULL。
- 将 fccIOProc 成员设置为 FOURCC_MEM。
- 将 pchBuffer 成员设置为指向内存块。 若要请求文件 I/O 管理器分配内存块,请将 pchBuffer 设置为 NULL。
- 将 cchBuffer 成员设置为内存块的初始大小。
- 将 adwInfo 成员设置为内存块的最小扩展大小。 对于不可扩展的内存文件,请将 adwInfo 设置为 NULL。
- 将所有其他成员设置为零。
分配用作不可扩展内存文件的内存没有限制。