mmioSetBuffer 函数 (mmiscapi.h)

mmioSetBuffer 函数启用或禁用缓冲 I/O,或更改使用 mmioOpen 函数打开的文件的缓冲区或缓冲区大小。

语法

MMRESULT mmioSetBuffer(
  HMMIO hmmio,
  LPSTR pchBuffer,
  LONG  cchBuffer,
  UINT  fuBuffer
);

parameters

hmmio

文件的文件句柄。

pchBuffer

指向要用于缓冲 I/O 的应用程序定义缓冲区的指针。 如果此参数为 NULL则 mmioSetBuffer 为缓冲 I/O 分配内部缓冲区。

cchBuffer

应用程序定义缓冲区的大小(以字符为单位),或要分配的 mmioSetBuffer 的缓冲区的大小。

fuBuffer

保留;必须为零。

返回值

如果成功,则返回零,否则返回错误。 如果发生错误,文件句柄将保持有效。 定义了以下值。

返回代码 说明
MMIOERR_CANNOTWRITE
无法将旧缓冲区的内容写入磁盘,因此操作已中止。
MMIOERR_OUTOFMEMORY
无法分配新缓冲区,可能是由于缺少可用内存。

注解

若要使用内部缓冲区启用缓冲,请将 pchBuffer 设置为 NULL ,并将 cchBuffer 设置为所需的缓冲区大小。

若要提供自己的缓冲区,请将 pchBuffer 设置为指向缓冲区,并将 cchBuffer 设置为缓冲区的大小。

若要禁用缓冲 I/O,请将 pchBuffer 设置为 NULL将 cchBuffer 设置为零。

如果已使用内部缓冲区启用缓冲 I/O,可以通过将 pchBuffer 设置为 NULL ,将 cchBuffer 设置为新的缓冲区大小,将缓冲区重新分配到不同的大小。 调整大小后,可以更改缓冲区的内容。

要求

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