Installing Custom I/O Procedures

[The feature associated with this page, Multimedia File I/O, is a legacy feature. It has been superseded by Source Reader. Source Reader has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader instead of Multimedia File I/O, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

To install an I/O procedure associated with the .ARC filename extension, use the mmioInstallIOProc function as follows:

mmioInstallIOProc (mmioFOURCC('A', 'R', 'C', ' '), 
    (LPMMIOPROC)lpmmioproc, MMIO_INSTALLPROC); 

When you install an I/O procedure using mmioInstallIOProc, the procedure remains installed until you remove it. The I/O procedure is used for any file you open as long as the file has the appropriate filename extension.

You can also temporarily install an I/O procedure by using the mmioOpen function. In this case, the I/O procedure is used only with a file opened by using mmioOpen and is removed when the file is closed by using the mmioClose function. To specify an I/O procedure when you open a file by using mmioOpen, use the lpmmioinfo parameter to reference an MMIOINFO structure as follows:

  1. Set the fccIOProc member to NULL.
  2. Set the pIOProc member to the procedure-instance address of the I/O procedure.
  3. Set all other members to zero (unless you are opening a memory file, or directly reading or writing to the file I/O buffer).

Be sure to remove any I/O procedures you have installed before you exit your application.