Jump to content

MMProgRef - MMIO Functions

From EDM2
Revision as of 20:26, 25 November 2025 by Martini (talk | contribs) (Created page with "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 pr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.