80.4.2 Querying Waveform Input Devices

Before recording a waveform, you should call the waveInGetDevCaps function to determine the waveform input capabilities of the system. This function takes a pointer to a WAVEINCAPS 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 version number of the device driver. In addition, the WAVEINCAPS structure provides information on the standard waveform formats that the device supports. MMSYSTEM.H defines WAVEINCAPS as follows.

typedef struct waveincaps_tag {

UINT wMid; /* manufacturer ID */

UINT wPid; /* product ID */

VERSION vDriverVersion; /* driver version */

char szPname[MAXPNAMELEN]; /* product name */

DWORD dwFormats; /* supported standard formats */

UINT wChannels; /* number of channels */

} WAVEINCAPS;