The waveInGetDevCaps function retrieves the capabilities of a given waveform-audio input device.

MMRESULT waveInGetDevCaps(
  UINT_PTR     uDeviceID, 
  LPWAVEINCAPS pwic,      
  UINT         cbwic      



Identifier of the waveform-audio output device. It can be either a device identifier or a handle of an open waveform-audio input device.


Pointer to a WAVEINCAPS structure to be filled with information about the capabilities of the device.


Size, in bytes, of the WAVEINCAPS structure.

Return Values

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following.

Value Description
MMSYSERR_BADDEVICEID Specified device identifier is out of range.
MMSYSERR_NODRIVER No device driver is present.
MMSYSERR_NOMEM Unable to allocate or lock memory.


Use this function to determine the number of waveform-audio input devices present in the system. If the value specified by the uDeviceID parameter is a device identifier, it can vary from zero to one less than the number of devices present. The WAVE_MAPPER constant can also be used as a device identifier. Only cbwic bytes (or less) of information is copied to the location pointed to by pwic. If cbwic is zero, nothing is copied and the function returns zero.


**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Library:** Use Winmm.lib.
**  Unicode:** Implemented as Unicode and ANSI versions on Windows NT/2000/XP.

See Also

Waveform Audio, Waveform Functions, WAVEINCAPS