MCI Command Messages

This section describes the media control interface command messages.

All messages except system messages operate in an asynchronous mode without notification unless MCI_NOTIFY or MCI_WAIT is specified. These two flags are mutually exclusive. If both are used, the error MCIERR_FLAGS_NOT_COMPATIBLE is returned.

If MCI_WAIT is used, control is not returned to the caller until the command completes. MCI_NOTIFY returns control to the caller and then completes the command. A notification will be sent to the application if MCIERR_SUCCESS was returned on the call. The second parameter specified for each message is a pointer to a control block structure associated with that message. This pointer is passed in the pParam2 parameter of mciSendCommand. The following table lists the command messages.

┌─────────────────────────┬───────────────────────────────────┐
│Command                  │Description                        │
├─────────────────────────┼───────────────────────────────────┤
│MCI_ACQUIREDEVICE        │Requests the use of the media      │
│                         │device.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_BUFFER               │Allows an application to allocate  │
│                         │(or deallocate) buffers for use    │
│                         │with the audio device.             │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CAPTURE              │Causes a video device to capture   │
│                         │the current video image.           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CLOSE                │Closes a device.                   │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CONNECTION           │Queries the device ID of a         │
│                         │connected device.                  │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CONNECTOR            │Enables or disables a connector, or│
│                         │to query the status of a connector.│
├─────────────────────────┼───────────────────────────────────┤
│MCI_CONNECTORINFO        │Determines the total number of     │
│                         │connectors on a device, the number │
│                         │of connectors of a specific type,  │
│                         │the type of each of the connectors,│
│                         │and whether or not a particular    │
│                         │type of connection is valid for a  │
│                         │connector.                         │
├─────────────────────────┼───────────────────────────────────┤
│MCI_COPY                 │Copies data from the device element│
│                         │to the clipboard or a user-supplied│
│                         │buffer.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CUE                  │Signals a device to ready itself   │
│                         │(preroll) so that a subsequent     │
│                         │playback or recording operation    │
│                         │begins with minimum delay.         │
├─────────────────────────┼───────────────────────────────────┤
│MCI_CUT                  │Removes data from the device       │
│                         │element and copies it to the       │
│                         │clipboard or a user-supplied       │
│                         │buffer.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_DEFAULT_CONNECTION   │Makes, breaks, and queries default │
│                         │connections between devices.       │
├─────────────────────────┼───────────────────────────────────┤
│MCI_DELETE               │Removes the specified range of data│
│                         │from the device element.           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_DEVICESETTINGS       │Allows a media control driver (MCD)│
│                         │to insert custom settings pages    │
│                         │into a Settings notebook.          │
├─────────────────────────┼───────────────────────────────────┤
│MCI_ESCAPE               │Sends a string directly to the     │
│                         │driver.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_FREEZE               │Freezes the motion of a video      │
│                         │image.                             │
├─────────────────────────┼───────────────────────────────────┤
│MCI_GETDEVCAPS           │Returns static information about a │
│                         │particular driver.                 │
├─────────────────────────┼───────────────────────────────────┤
│MCI_GETIMAGEBUFFER       │Reads data from the image capture  │
│                         │buffer.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_GETIMAGEPALETTE      │Obtains a palette or color map for │
│                         │the current image.                 │
├─────────────────────────┼───────────────────────────────────┤
│MCI_GETTOC               │Interrogates the device, and       │
│                         │returns a table of contents        │
│                         │structure for the currently loaded │
│                         │disk. (CD Audio Only)              │
├─────────────────────────┼───────────────────────────────────┤
│MCI_GROUP                │Used to provide the appropriate    │
│                         │message handling for GROUP         │
│                         │commands.  GROUP commands allow you│
│                         │to control several multimedia      │
│                         │devices from a single MCI command. │
├─────────────────────────┼───────────────────────────────────┤
│MCI_INFO                 │Returns string information from a  │
│                         │media device.                      │
├─────────────────────────┼───────────────────────────────────┤
│MCI_LOAD                 │Specifies a new file or RIFF chunk │
│                         │to be loaded into an already       │
│                         │existing device context.           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_MASTERAUDIO          │Provides support for setting and   │
│                         │retrieving system-wide audio       │
│                         │control parameters.                │
├─────────────────────────┼───────────────────────────────────┤
│MCI_MIXNOTIFY            │Notifies an application of mixer   │
│                         │attribute changes.                 │
├─────────────────────────┼───────────────────────────────────┤
│MCI_MIXSETUP             │Informs the mixer device that the  │
│                         │application wishes to read or write│
│                         │buffers directly and sets up the   │
│                         │device in the correct mode.        │
├─────────────────────────┼───────────────────────────────────┤
│MCI_OPEN                 │Opens a logical multimedia device  │
│                         │and creates a new device context   │
│                         │for use by an application.         │
├─────────────────────────┼───────────────────────────────────┤
│MCI_PASTE                │Pastes data from the clipboard or a│
│                         │user-supplied buffer into the      │
│                         │specified range of a device        │
│                         │element.                           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_PAUSE                │Suspends playback or recording.    │
├─────────────────────────┼───────────────────────────────────┤
│MCI_PLAY                 │Signals the device to begin        │
│                         │transmitting data.                 │
├─────────────────────────┼───────────────────────────────────┤
│MCI_PUT                  │Sets the source and destination    │
│                         │rectangle arrays for the           │
│                         │transformation of the video image. │
├─────────────────────────┼───────────────────────────────────┤
│MCI_RECORD               │Starts the device recording input  │
│                         │data.                              │
├─────────────────────────┼───────────────────────────────────┤
│MCI_REDO                 │Redoes the record, cut, paste, or  │
│                         │delete operation most recently     │
│                         │undone by MCI_UNDO.                │
├─────────────────────────┼───────────────────────────────────┤
│MCI_RELEASEDEVICE        │Releases the exclusive use of      │
│                         │physical device resources by a     │
│                         │device context or device group.    │
├─────────────────────────┼───────────────────────────────────┤
│MCI_RESTORE              │Causes a video device to restore   │
│                         │the image or bitmap.               │
├─────────────────────────┼───────────────────────────────────┤
│MCI_RESUME               │Resumes playing or recording from a│
│                         │paused state.                      │
├─────────────────────────┼───────────────────────────────────┤
│MCI_REWIND               │Seeks the media to the beginning   │
│                         │point.                             │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SAVE                 │This message saves the current     │
│                         │file.                              │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SEEK                 │Changes the current media position │
│                         │of the device.                     │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SET                  │Sets device information.           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SET_CUEPOINT         │Sets run-time cue points in the    │
│                         │media device.                      │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SETIMAGEBUFFER       │Writes data to the image capture   │
│                         │buffer.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SETIMAGEPALETTE      │Sets a palette or color map to be  │
│                         │used for mapping images.           │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SET_POSITION_ADVISE  │Enables periodic position-change   │
│                         │messages from the media device.    │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SET_SYNC_OFFSET      │Specifies positional offsets for   │
│                         │devices operating in               │
│                         │synchronization.                   │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SETTUNER             │Sets the frequency for the tuner   │
│                         │device.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SPIN                 │Spins the player up or down.       │
├─────────────────────────┼───────────────────────────────────┤
│MCI_STATUS               │Obtains information about the      │
│                         │status of a media control interface│
│                         │device.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_STEP                 │Steps the player one or more       │
│                         │frames.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_STOP                 │Stops audio or video playback or   │
│                         │recording.                         │
├─────────────────────────┼───────────────────────────────────┤
│MCI_SYSINFO              │Returns information about media    │
│                         │control interface devices.         │
├─────────────────────────┼───────────────────────────────────┤
│MCI_UNDO                 │Undoes the operation most recently │
│                         │performed by record, cut, paste, or│
│                         │delete.                            │
├─────────────────────────┼───────────────────────────────────┤
│MCI_UNFREEZE             │Restores motion to an area of the  │
│                         │display frozen with MCI_FREEZE.    │
├─────────────────────────┼───────────────────────────────────┤
│MCI_WHERE                │Returns the extent of the clipping │
│                         │rectangles.                        │
├─────────────────────────┼───────────────────────────────────┤
│MCI_WINDOW               │Specifies the window and the window│
│                         │characteristics that a graphic     │
│                         │device should use for display.     │
└─────────────────────────┴───────────────────────────────────┘


[Back: MM_MCIPOSITIONCHANGE - Topics]
[Next: MCI_ACQUIREDEVICE]