Not all multimedia systems have auxiliary audio support. You can use the auxGetNumDevs function to determine the number of controllable auxiliary devices present in a system.
To get information on a particular auxiliary audio device, use the auxGetDevCaps function. This function takes a pointer to an AUXCAPS structure, which it fills with information on the capabilities of a given device. This information includes the manufacturer and product IDs, a product name for the device, and the device- driver version number. For information on these fields, see Section 0.2.1.2, “Getting the Capabilities of a Device” earlier in this chapter. The AUXCAPS structure also contains information on the device type and the functionality the device supports. The MMSYSTEM.H file defines the AUXCAPS structure as follows:
typedef struct auxcaps_tag {
UINT wMid; /* manufacturer ID */
UINT wPid; /* product ID */
VERSION vDriverVersion; /* driver version */
char szPname[MAXPNAMELEN]; /* product name */
UINT wTechnology; /* device type */
DWORD dwSupport; /* functionality supported */
} AUXCAPS;
The MMSYSTEM.H file defines the following flags for the wTechnology field of the AUXCAPS structure to determine the device type of an auxiliary audio device:
Flag | Description |
AUXCAPS_CDAUDIO | The device is an internal CD-ROM drive. |
AUXCAPS_AUXIN | The device is an auxiliary audio input jack. |
The dwSupport field of the AUXCAPS structure indicates whether the device driver supports volume changes. The MMSYSTEM.H file defines the following flags for the dwSupport field:
Flag | Description |
AUXCAPS_VOLUME | Volume-control support. |
AUXCAPS_LRVOLUME | Individual volume-control support for both the left and right channels. |