The following code illustrates how to acquire and then release a device.

  MCI_GENERIC_PARMS mciGenericParms;
                                        /* Info data structure for cmd */
  USHORT   usDeviceID;
  HWND     hwndMyWindow;

           /* Assign hwndCallback the handle to the PM Window routine */

  mciGenericParms.hwndCallback = hwndMyWindow;


   /* Acquire the device for exclusive access and assume it is inactive */

  mciSendCommand(usDeviceID,            /* Device ID                   */
       MCI_ACQUIREDEVICE,               /* MCI acquire device message  */
       MCI_NOTIFY |  MCI_EXCLUSIVE,
                                        /* Flags for this message      */
       (PVOID) &mciGenericParms,        /* Data structure              */
       0);                              /* No user parm                */

     /* Device will be exclusively acquired once MM_MCIPASSDEVICE      */
        message is received indicating MCI_GAINING_USE                 */

     /* Perform whatever operations require exclusive access to device */

   mciSendCommand(usDeviceID,           /* Device ID                   */
     MCI_RELEASEDEVICE,                 /* MCI release device message  */
     MCI_NOTIFY,                        /* Flag for this message       */
     (PVOID) &mciGenericParms,          /* Data structure              */
     0);                                /* No user parm                */


[Back] [Next]