waveOutGetDevCaps (Windows CE 5.0)

Send Feedback

This function queries a specified waveform device to determine its capabilities.



  • uDeviceID
    Identifier of the waveform-audio output device. It can be either a device identifier or a Handle to an open waveform-audio output device.
  • pwoc
    Pointer to a WAVEOUTCAPS structure to be filled with information about the capabilities of the device.
  • cbwoc
    Size, in bytes, of the WAVEOUTCAPS structure.

Return Values

One of the values described in the following table is returned.

Value Description
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NODRIVER No device driver is present.
MMSYSERR_NOMEM Unable to allocate or lock memory.


Use the waveOutGetNumDevs function to determine the number of waveform-audio output 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 cbwoc bytes (or less) of information is copied to the location pointed to by pwoc. If cbwoc is zero, nothing is copied and the function returns zero.

You can determine which of the standard audio formats a driver supports by examining the contents of WAVEOUTCAPS.dwFormats. To determine whether a driver supports a particular format that is not explicitly described by the WAVEOUTCAPS, call waveOutOpen and specify the audio format and the WAVE_FORMAT_QUERY flag. If the device does not support the format, it will return WAVERR_BADFORMAT.


OS Versions: Windows CE 2.0 and later.
Header: Mmsystem.h.
Link Library: Coredll.lib.

See Also

Waveform Audio Functions | WAVEOUTCAPS | waveOutOpen

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.