Если вы открыли устройство ввода или вывода с указанием константы WAVE_MAPPER, функция waveInOpen (или waveOutOpen, если открывается устройство вывода) может использовать любое подходящее устройство, установленное в системе. Для определения номера выбранного устройства по идентификатору, полученному от функций waveInOpen или waveOutOpen, можно использовать, соответственно, функцию waveInGetID или waveOutGetID.
Приведем описание функции waveInGetID : Функция waveInGetID UINT waveInGetID( HWAVEIN hWaveIn, // идентификатор устройства ввода UINT FAR* lpwDeviceID); // адрес переменной для записи // номера устройства
Параметры функции: hWaveIn
Идентификатор устройства ввода, полученный от функции waveInOpen при открытии устройства lpwDeviceID
Возвращаемое значение:
При нормальном завершении возвращается нулевое значение. В противном случае возвращается код ошибки: MMSYSERR_INVALHANDLE
Указан неправильный идентификатор устройства
Функция waveOutGetID используется аналогично: Функция waveOutGetID UINT waveOutGetID( HWAVEOUT hWaveOut, // идентификатор устройства вывода UINT FAR* lpwDeviceID); // адрес переменной для записи // номера устройства
Параметры функции: hWaveOut
Идентификатор устройства вывода, полученный от функции waveOutOpen при открытии устройства lpwDeviceID
Указатель на слово в памяти, в которое будет записан номер устройства, соответствующий идентификатору hWaveOut
Возвращаемое значение:
При нормальном завершении возвращается нулевое значение. В противном случае возвращается код ошибки: MMSYSERR_INVALHANDLE
Указан неправильный идентификатор устройства