The MMIO Manager uses I/O procedures to direct the input and output associated with reading and writing to different types of storage systems or file formats. Applications and the MMIO subsystem communicate to IOProcs (DLL files) through the use of MMIO messages. When MMIO receives a request from an application through a function call, messages are created by the MMIO Manager. Next, MMIO sends a predefined message for that operation to the IOProc that supports that particular file format or storage system. These messages are designed for efficient communications to all IOProcs. The IOProcs, however, must be able to handle the messages sent by the MMIO Manager to be processed, or pass them on to a child I/O procedure.