The wave/in device class consists of audio devices for low-level wave audio input. You access these devices using the wave functions, which are described in the Microsoft Platform Software Development Kit. Devices in this class are associated with line devices that support the LINEMEDIAMODE_AUTOMATEDVOICE media modem which is specified in the dwMediaModes member of the LINEDEVCAPS structure for the line device.
The lineGetID and phoneGetID functions fill a VARSTRING structure, setting the dwStringFormat member to the STRINGFORMAT_BINARY value and appending this additional member:
DWORD DeviceId; // identifier of audio device
The DeviceId member is the identifier of a closed audio device. You use this identifier in a call to the waveInOpen function to open the device for input. You can use the resulting device handle to record digitized audio data from the line or phone device.
Although a wave device class also exists for low-level wave audio devices, you should always use the wave/in device class for low-level wave input.