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 {
  WORD  wMid;                                                /* manufacturer ID */
  WORD  wPid;                                                /* product ID */
  VERSION vDriverVersion;                        /* driver version */
  char  szPname[MAXPNAMELEN];                /* product name */
  DWORD  dwFormats;                                        /* supported standard formats */
  WORD  wChannels;                                        /* number of channels */
} WAVEINCAPS;