MMIOINFO
The MMIOINFO
structure contains the current state of a file opened by using the mmioOpen
typedef struct {
DWORD dwFlags;
FOURCC fccIOProc;
LPMMIOPROC
pIOProc;
UINT wErrorRet;
HTASK hTask;
LONG cchBuffer;
HPSTR pchBuffer;
HPSTR pchNext;
HPSTR pchEndRead;
HPSTR pchEndWrite;
LONG lBufOffset;
LONG lDiskOffset;
DWORD adwInfo[4];
DWORD dwReserved1;
DWORD dwReserved2;
HMMIO hmmio;
} MMIOINFO;
Members
dwFlags
Flags
specifying how a file was opened. The following values are defined:
MMIO_ALLOCBUF
File s I/O
buffer was allocated by the mmioOpen
MMIO_CREATE
The
mmioOpen function was directed to create the file (or truncate it to zero
length if it already existed).
MMIO_DIRTY
The I/O
buffer has been modified.
MMIO_EXIST
Checks for
the existence of the file.
MMIO_GETTEMP
A temporary
name was retrieved by the mmioOpen
MMIO_PARSE
The new
file s path is returned.
The following
values may be set when the file is opened in share mode (identified by using
the MMIO_SHAREMODE bit mask):
MMIO_COMPAT
File was
opened with compatibility mode, allowing any process on a given machine to open
the file any number of times.
MMIO_DENYNONE
Other
processes are not denied read or write access to the file.
MMIO_DENYREAD
Other
processes are denied read access to the file.
MMIO_DENYWRITE
Other
processes are denied write access to the file.
MMIO_EXCLUSIVE
Other
processes are denied read and write access to the file.
The following
values may be set when the file is opened in read/write mode (identified by
using the MMIO_RWMODE bit mask):
MMIO_READ
File was
opened only for reading.
MMIO_READWRITE
File was
opened for reading and writing.
MMIO_WRITE
File was
opened only for writing.
fccIOProc
Four-character
code identifying the file s I/O procedure. If the I/O procedure is not an
installed I/O procedure, this member is NULL.
pIOProc
Address of
file s IO procedure.
wErrorRet
Extended
error value from the mmioOpen
hTask
Handle of a
local I/O procedure. Media Control Interface (MCI) devices that perform file
I/O in the background and need an I/O procedure can locate a local I/O
procedure with this handle.
cchBuffer
Size, in
bytes, of the file s I/O buffer. If the file does not have an I/O buffer, this
member is zero.
pchBuffer
Address of
the file s I/O buffer. If the file is unbuffered, this member is NULL.
pchNext
Address of
the next location in the I/O buffer to be read or written. If no more bytes can
be read without calling the mmioAdvance
pchEndRead
Address of
the location that is 1 byte past the last location in the buffer that can be
read.
pchEndWrite
Address of
the location that is 1 byte past the last location in the buffer that can be
written.
lBufOffset
Reserved.
lDiskOffset
Current file
position, which is an offset, in bytes, from the beginning of the file. I/O
procedures are responsible for maintaining this member.
adwInfo
State
information maintained by the I/O procedure. I/O procedures can also use these
members to transfer information from the application to the I/O procedure when
the application opens a file.
dwReserved1
Reserved.
dwReserved2
Reserved.
hmmio
Handle of the
open file, as returned by the mmioOpen
See Also