mmioSetBuffer

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

The mmioSetBuffer function enables or disables buffered I/O, or changes the buffer or buffer size for a file opened with mmioOpen.

Parameters

hmmio

Specifies the file handle of the file.

pchBuffer

Specifies a pointer to a caller-supplied buffer to use for buffered I/O. If NULL,mmioSetBuffer allocates an internal buffer for buffered I/O.

cchBuffer

Specifies the size of the caller-supplied buffer, or the size of the buffer for mmioSetBuffer to allocate.

uFlags

Is not used and should be set to zero.

Return Value

The return value is zero if the function is successful. Otherwise, the return value specifies an error code. If an error occurs, the file handle remains valid. The error code can be one of the following codes:

Value Meaning

MMIOERR_CANNOTWRITE The contents of the old buffer could not be written to disk, so the operation was aborted.
MMIOERR_OUTOFMEMORY The new buffer could not be allocated, probably due to a lack of available memory.

Comments

To enable buffering using an internal buffer, set pchBuffer to NULL and cchBuffer to the desired buffer size.

To supply your own buffer, set pchBuffer to point to the buffer,and set cchBuffer to the size of the buffer.

To disable buffered I/O, set pchBuffer to NULL and cchBuffer to zero.

If buffered I/O is already enabled using an internal buffer, you can reallocate the buffer to a different size by setting pchBuffer to NULL and cchBuffer to the new buffer size. The contents of the buffer may be changed after resizing.