MMProgRef - MMIO Functions
The multimedia input/output (MMIO) file services are an extension of the base OS/2 file services. Designed to be simple, fast, and flexible, the MMIO services-functions, messages, and data structures-enable an application to access and manipulate multimedia data files. These files contain a variety of media elements (images, graphics, digital audio, and video) that are in different file formats; for example, RIFF, AVC, and M-Motion.
MMIO services provide a consistent programming interface so that an application can refer to these files, read and write data to the files, and query the contents of the files, without having to know anything about the specific format of the files. MMIO services strengthen a program's portability, as well as data compatibility, by insulating the application from the underlying file formats.
Note: As a general comment, all fields in MMIO services data structures that are not used in a given function must be initialized to NULL. Flags that are not used, and bits not used within flags, must be set to 0.
The following table describes the MMIO functions.
| Function | Description |
|---|---|
| mmioAdvance | Fills and empties the contents of an I/O buffer of a file set up for direct I/O buffer access. |
| mmioAscend | Ascends out of a chunk in a RIFF file that was descended into by mmioDescend or created by mmioCreateChunk. |
| mmioCFAddElement | Adds an element to the CGRP chunk of an open RIFF compound file. |
| mmioCFAddEntry | Adds an entry to the CTOC chunk of an open RIFF compound file. |
| mmioCFChangeEntry | Changes a CTOC entry in an open RIFF compound file. |
| mmioCFClose | Closes a RIFF compound file that was opened by mmioCFOpen. |
| mmioCFCompact | Compacting the elements of a RIFF compound file. |
| mmioCFCopy | Copies the CTOC and CGRP chunks from an open RIFF compound file to another RIFF compound file. |
| mmioCFDeleteEntry | Deletes a CTOC entry in an open RIFF compound file. |
| mmioCFFindEntry | Finds a CTOC entry in an open RIFF compound file. |
| mmioCFGetInfo | Retrieves the CTOC header of an open RIFF compound file. |
| mmioCFOpen | Opens a RIFF compound file by name. |
| mmioCFSetInfo | Modifies information that is stored in the CTOC header of an open RIFF compound file. |
| mmioClose | Closes a file opened by mmioOpen. |
| mmioCreateChunk | Creates a chunk in a RIFF file that was opened by mmioOpen. |
| mmioDescend | Descends into a RIFF file chunk beginning at the current file position, or searches for a specified chunk. |
| mmioDetermineSSIOProc | Determines the storage system of the media data object. |
| mmioFindElement | Enumerates the entries of a compound file. |
| mmioFlush | Forces the contents of an I/O buffer to be written to disk. |
| mmioFOURCC | Converts four characters to a four-character code (FOURCC). |
| mmioGetFormatName | Provides the descriptive name of the format supported by the IOProc. |
| mmioGetFormats | Provides a list of all format I/O procedures available for use. |
| mmioGetHeader | Obtains media-specific information about data in a file such as the media type, media structure, and the size of the media structure. |
| mmioGetInfo | Retrieves information from the file I/O buffer to a file opened for buffered I/O. |
| mmioGetLastError | Returns the last error condition stored in ulErrorRet that might contain additional information for the analysis of the last error routine. |
| mmioIdentifyFile | Determines (if possible) the format of a file by either using the file name or querying currently installed I/O procedures to see which IOProc can understand and process the specified file. |
| mmioIdentifyStorageSystem | Identifies the storage system that contains the media data object. |
| mmioIniFileCODEC | Modifies the initialization file (MMPMMMIO.INI) for MMIO services. It adds, replaces, removes, or finds a CODEC procedure in the MMPMMMIO.INI file. |
| mmioIniFileHandler | Adds, replaces, removes, or finds an I/O procedure in the initialization file (MMPMMMIO.INI). |
| mmioInstallIOProc | Installs an I/O procedure in the MMIO IOProc table, removes an IOProc from the table, or finds a procedure when given its FOURCC identifier. |
| mmioLoadCODECProc | Loads the CODEC Proc and returns the entry point. |
| mmioOpen | Opens a file and returns an MMIO handle. |
| mmioQueryCODECName | Returns the CODEC Proc name. |
| mmioQueryCODECNameLength | Returns the length of the CODEC Proc name. |
| mmioQueryFormatCount | Provides the number of IOProcs that match the requested format. |
| mmioQueryHeaderLength | Determines the size of the header for a specified file. |
| mmioQueryIOProcModuleHandle | Provides the module handle of an IOProc's DLL. This handle must be used to retrieve resources from the DLL. This function provides the handle of the DLL only if it was loaded by MMIO from the MMPMMMIO.INI file. |
| mmioRead | Reads a specified number of bytes from a file opened by mmioOpen. |
| mmioRemoveElement | Removes the specified element in a compound file. |
| mmioSeek | Changes the current position for reading, writing, or both, in a file opened by mmioOpen. |
| mmioSendMessage | Sends a message to the I/O procedure associated with a file that was opened with mmioOpen. |
| mmioSet | Sets or queries extended file information. |
| mmioSetBuffer | Enables or disables buffered I/O, or changes the buffer or buffer size, for a file that was opened using mmioOpen. |
| mmioSetHeader | Sets media-specific information for data to be written to a file. |
| mmioSetInfo | Changes information on a file I/O buffer of a file opened for buffered I/O. |
| mmioStringToFOURCC | Converts a null-terminated string to a four-character code (FOURCC). |
| mmioWrite | Writes to a file that was opened using mmioOpen. |