Preferred Voice-Communications Device ID
In Windows Me, and Windows 2000 and later, the Windows multimedia functions waveInMessage and waveOutMessage can retrieve the device ID of the preferred device for voice communications. These two functions get the preferred voice-communication device IDs for wave input and wave output, respectively. Each device ID identifies the wave device that is preferred specifically for voice communications, in contrast to the wave device that is preferred for general wave audio usage. For information about obtaining the device ID of the preferred device for general wave audio, see Accessing the Preferred Device ID.
Knowing the preferred voice-communications device can be helpful to application programs that, for example, allow users to select a device to open from a list of two or more devices. Such an application typically needs to indicate which among the devices in the list is the preferred device.
To retrieve the device ID of the current preferred voice-communications device, an application calls the wave XxxMessage function with the message parameter set to the constant DRVM_MAPPER_CONSOLEVOICECOM_GET.
When calling the waveInMessage or waveOutMessage function with the DRVM_MAPPER_CONSOLEVOICECOM_GET message, specify the value of the device handle as WAVE_MAPPER and cast this value to the appropriate handle type, HWAVEIN or HWAVEOUT. The wave XxxMessage functions accept this value in place of a valid device handle so that an application can query for the default device ID without first having to open a device. For more information about the wave XxxMessage functions, see System-Intercepted Device Messages.
The DRVM_MAPPER_PREFERRED_GET message is intercepted by the mapper for the target device (waveIn or waveOut). For information about mappers for wave devices, see the Microsoft Windows SDK documentation.