If MMIO_SET_EXTENDEDINFO is set to associate a CODEC procedure with an open file, the pCODECIniFileInfo field of the CODECASSOC structure is used to identify each CODEC procedure installed in the initialization file. As a result of the set, the CODEC procedures are opened and each pCodecOpen structure is passed to its corresponding CODEC procedure.

On query, two levels of information can be returned. If MMIO_QUERY_EXTENDEDINFO_BASE is set, only the MMEXTENDINFO structure is returned. The ulNumCODECs is the number of currently associated CODEC procedures. The ulBufSize field is the buffer size for the second level information. If the application decides to query the second level information, the MMIO_QUERY_EXTENDEDINFO_ALL flag must be set and the pUserExtendmminfo parameter must point to a buffer with the size equal to the ulBufSize field of the MMEXTENDINFO structure.

This function associates a CODEC procedure with an MMIO handle. Typically, this function is used to provide CODEC information for a new file being created. When an existing movie file is opened, any necessary CODEC procedures are loaded by the I/O procedure automatically based on the compression type and subtype specified in the file's header. However, there might be a need to change the output format (for example, color depth) of a CODEC and this function can be used for that. The default color depth is set to the display mode color depth for files opened for reading (that is, playback of a movie file).

If this function is not issued, no data compression and decompression will be performed for MMIO_READ and MMIO_WRITE.

Note: for digital video files, all reads and writes are MULTITRACK_READ and MULTITRACK_WRITE.)