This function queries a specified waveform device to determine its capabilities.
MMRESULT waveOutGetDevCaps(UINTuDeviceID,LPWAVEOUTCAPSpwoc,UINTcbwoc );
Parameters
- 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_NOERROR | Success. |
MMSYSERR_INVALHANDLE | Specified device handle is invalid. |
MMSYSERR_NODRIVER | No device driver is present. |
MMSYSERR_NOMEM | Unable to allocate or lock memory. |
Remarks
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.
Requirements
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