MCI Functions, Macros, and Messages
The device identifier required by most MCI commands is typically retrieved in a call to the open (MCI_OPEN) command. If you need a device identifier but do not want to open the device — for example, if you want to query the capabilities of the device before taking any other action — you can call the mciGetDeviceID function.
The mciGetCreatorTask function allows your application to use a device identifier to retrieve a handle to the task that created that identifier.
The mciGetErrorString function retrieves a string that describes an MCI error value. Each string that MCI returns, whether data or an error description, is a maximum of 128 characters. Dialog box fields that are smaller than 128 characters will truncate the longer strings returned by MCI. For more information about these strings, see MCIERR Return Values.
The MCI macros are tools you can use to create and disassemble values that specify time formats. These time formats are used in many MCI commands. The formats acted on by the macros are hours/minutes/seconds (HMS), minutes/seconds/frames (MSF), and tracks/minutes/seconds/frames (TMSF). The following table lists the macros and their descriptions.
|MCI_HMS_HOUR||Retrieves the hours component from an HMS value.|
|MCI_HMS_MINUTE||Retrieves the minutes component from an HMS value.|
|MCI_HMS_SECOND||Retrieves the seconds component from an HMS value.|
|MCI_MAKE_HMS||Creates an HMS value.|
|MCI_MAKE_MSF||Creates an MSF value.|
|MCI_MAKE_TMSF||Creates a TMSF value.|
|MCI_MSF_FRAME||Retrieves the frames component from an MSF value.|
|MCI_MSF_MINUTE||Retrieves the minutes component from an MSF value.|
|MCI_MSF_SECOND||Retrieves the seconds component from an MSF value.|
|MCI_TMSF_FRAME||Retrieves the frames component from a TMSF value.|
|MCI_TMSF_MINUTE||Retrieves the minutes component from a TMSF value.|
|MCI_TMSF_SECOND||Retrieves the seconds component from a TMSF value.|
|MCI_TMSF_TRACK||Retrieves the tracks component from a TMSF value.|
MCI also provides two messages: MM_MCINOTIFY and MM_MCISIGNAL. The MM_MCINOTIFY message notifies an application of the outcome of an MCI command whenever that command specifies the "notify" (MCI_NOTIFY) flag. The MM_MCISIGNAL message is specific to digital-video devices; it notifies the application when a specified position is reached.