The following code illustrates how to initialize multiple devices in a group simultaneously.

  /***  Sample code to make a group using mciSendCommand.  ***/

MCI_GROUP_PARMS    mciGroupParameters;
ULONG              paulDeviceIDs[4];
ULONG              ulRC;
ULONG              ulGroupFlags;


  /********************************************************************/
  /***  Assume code is here to open four devices and store their    ***/
  /***  device IDs in the array                                     ***/
  /***  paulDeviceIDs[0]...paulDeviceIDs[3]     ***/
  /********************************************************************/


ulGroupFlags = MCI_GROUP_MAKE;               /* Make a group            */

mciGroupParameters.hwndCallback= (HWND) NULL;/* No NOTIFY will be used. */

mciGroupParameters.usGroupID   = 0;          /* This will be returned.  */

mciGroupParameters.pszGroupAlias= (PSZ) NULL;/* No alias will be used.  */

mciGroupParameters.ulNumDevices = 4;         /* Group four devices.     */

mciGroupParameters.paulDeviceID = paulDeviceIDs;/* This array contains  */
                                                   the four device IDs. */

ulRC = mciSendCommand(
        0,                         /* We don't know the group's ID yet. */
        MCI_GROUP,                 /* MCI_GROUP message.                */
        ulGroupFlags,              /* Flags for the MCI_GROUP message.  */
        (PVOID)&mciGroupParameters /* Parameters for the message.       */
        0 );                       /* User parameter.                   */


   /********************************************************************/
   /***  On successful return, a group will have been created        ***/
   /***  combining the four devices (whose device IDs were in the    ***/
   /***  paulDeviceIDs array) into one "grouped" device.  This       ***/
   /***  "grouped" device will have a device ID of its own found in  ***/
   /***  the mciGroupParameters.usGroupID field.                     ***/
   /********************************************************************/


[Back] [Next]