All MCDs have commands passed to them in the same way, regardless of whether they support streaming or nonstreaming devices. Applications call either the mciSendCommand or mciSendString functions to pass commands to the MCD entry point, mciDriverEntry. In addition, some commands are generated by the MDM itself. These are the commands for saving and restoring an instance and synchronization messages-messages periodically generated by the master device for routing to the slave devices in the group.

Although streaming and nonstreaming devices have commands passed to them in the same way, they process the commands they receive from the MDM differently. These differences are described in the sections that follow and are summarized in the following table.

┌────────────────────┬────────────────────┬────────────────────┐
│When the MDM sends: │The waveform audio  │The CD audio MCD:   │
│                    │MCD:                │                    │
├────────────────────┼────────────────────┼────────────────────┤
│MCI_SET messages    │Routes the messages │Uses IOCtls to      │
│that set audio      │to the amp mixer.   │process the         │
│attributes          │                    │messages.           │
├────────────────────┼────────────────────┼────────────────────┤
│Messages that       │Routes the messages │Uses IOCtls to      │
│control playback    │to the SSM.         │process the         │
│(for example, SEEK, │                    │messages.           │
│PLAY, PAUSE, STOP)  │                    │                    │
└────────────────────┴────────────────────┴────────────────────┘


[Back] [Next]