Notification Messages

The system uses notification messages to respond to applications, indicating system status such as completion of a media device function or passing of the ownership of a media device between processes.

Messages are returned to applications asynchronously (using WinPostMsg), except for MM_MCIEVENT, which is sent synchronously (using WinSendMsg). A media control interface call that results in the dispatch of these two messages (such as MCI_OPEN and MCI_ACQUIREDEVICE) must be issued from application threads that have a message queue.

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, an MCIERR_FLAGS_NOT_COMPATIBLE error 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.

┌─────────────────────────┬───────────────────────────────────┐
│Function                 │Description                        │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCICUEPOINT           │Notifies application that a cue    │
│                         │point is found in a playlist, or   │
│                         │that a cue point has been detected,│
│                         │which was set with the             │
│                         │MCI_SET_CUEPOINT message.          │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCIEVENT              │Notifies application of an event   │
│                         │generated by a device.             │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCINOTIFY             │Notifies an application after a    │
│                         │device completes action or an error│
│                         │occurs.                            │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCIPASSDEVICE         │Notifies application that a shared │
│                         │device is being gained or lost.    │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCIPLAYLISTMESSAGE    │Notifies application that playlist │
│                         │processor has found a MESSAGE      │
│                         │instruction.                       │
├─────────────────────────┼───────────────────────────────────┤
│MM_MCIPOSITIONCHANGE     │Notifies applications of current   │
│                         │media position.                    │
└─────────────────────────┴───────────────────────────────────┘


[Back: MCIDRV_SAVE - Topics]
[Next: MM_MCICUEPOINT]