home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Multimed / Multimed.zip / lbmix04.zip / Source / pddname.c < prev    next >
C/C++ Source or Header  |  1999-11-17  |  2KB  |  71 lines

  1. //-----------------------------------------------------------------------------
  2. // Freeware.  This file may be used freely to promote the ioctl90 mixer API.
  3. //-----------------------------------------------------------------------------
  4.  
  5. //
  6. // OS/2 32-bit program to query the Physical Device Driver name
  7. // for the default MMPM/2 WaveAudio device.  Joe Nord 10-Mar-1999
  8. //
  9.  
  10. // Modified by Lesha Bogdanow:
  11. // Removed fprintfs
  12.  
  13. #include <stdlib.h>
  14. #include <stdio.h>
  15. #include <string.h>
  16.  
  17. #define USE_OS2_TOOLKIT_HEADERS
  18. #include <os2.h>
  19.  
  20. #define INCL_OS2MM
  21. #include <os2me.h>
  22.  
  23. #include "pddname.h"
  24.  
  25. ULONG GetAudioPDDName (char *pszPDDName)
  26. {
  27.    ULONG                   ulRC;
  28.    char                    szAmpMix[9] = "AMPMIX01";
  29.  
  30.    MCI_SYSINFO_PARMS       SysInfo;
  31.    MCI_SYSINFO_LOGDEVICE   SysInfoParm;
  32.    MCI_SYSINFO_QUERY_NAME  QueryNameParm;
  33.  
  34.    memset (&SysInfo, '\0', sizeof(SysInfo));
  35.    memset (&SysInfoParm, '\0', sizeof(SysInfoParm));
  36.    memset (&QueryNameParm, '\0', sizeof(QueryNameParm));
  37.  
  38.    SysInfo.ulItem       = MCI_SYSINFO_QUERY_NAMES;
  39.    SysInfo.usDeviceType  = MCI_DEVTYPE_WAVEFORM_AUDIO;
  40.    SysInfo.pSysInfoParm = &QueryNameParm;
  41.  
  42.    strcpy (QueryNameParm.szLogicalName, szAmpMix);
  43.  
  44.    ulRC = mciSendCommand (0,
  45.                           MCI_SYSINFO,
  46.                           MCI_SYSINFO_ITEM | MCI_WAIT,
  47.                           (PVOID) &SysInfo,
  48.                           0);
  49.    if (ulRC != 0) return (ulRC);
  50.  
  51.    // Get PDD associated with our AmpMixer
  52.    // Device name is in pSysInfoParm->szPDDName
  53.  
  54.    SysInfo.ulItem       = MCI_SYSINFO_QUERY_DRIVER;
  55.    SysInfo.usDeviceType = MCI_DEVTYPE_WAVEFORM_AUDIO;
  56.    SysInfo.pSysInfoParm = &SysInfoParm;
  57.  
  58.    strcpy (SysInfoParm.szInstallName, QueryNameParm.szInstallName);
  59.  
  60.    ulRC = mciSendCommand (0,
  61.                           MCI_SYSINFO,
  62.                           MCI_SYSINFO_ITEM | MCI_WAIT,
  63.                           (PVOID) &SysInfo,
  64.                           0);
  65.    if (ulRC != 0) return (ulRC);
  66.  
  67.    strcpy (pszPDDName, SysInfoParm.szPDDName);
  68.  
  69.    return (ulRC);
  70. }
  71.