Windows Mobile 6.5
A version of this page is also available for

This function queries the value of a specific property in a property set for waveform audio output.

MMRESULT waveOutGetProperty(
  UINT        uDeviceID,
  const GUID* pPropSetId,
  ULONG       ulPropId,
  LPVOID      pvPropParams,
  ULONG       cbPropParams,
  LPVOID      pvPropData,
  ULONG       cbPropData,
  PULONG      pcbReturn


[in] A UINT value that identifies the audio device that you want to query for properties. This value can either be a device ID for the audio device, or an HWAVEIN or HWAVEOUT handle to an audio stream. If there is only one audio device present, its device ID is 0. To query the MM_PROPSET_GAINCLASS_CLASS property set, this parameter must be 0.


[in] A pointer to a GUID that represents the property set you want to query. (You can use your own GUIDs to define your own property sets.) Properties on a stream or device are grouped into sets. The following table shows the predefined property sets.

Property set Description


The general property set for all audio gain class properties.


A property set for properties specific to audio streams.


[in] A ULONG value that is an index to identify a specific property within a property set. The following table shows the properties available for the predefined property sets.

Property set Property Property Description



An AUDIOGAINCLASS structure that describes the general parameters of a particular audio gain class.



A STREAMPROPS structure that describes the parameters of a gain class for an audio stream.


An LPVOID pointer to any data type or structure that contains additional parameters that qualify the desired property. The data type that a property requires is defined by that property.

The following table shows qualifiers that you must set for certain predefined property sets.

Property Required qualifier


The ID of the gain class associated with the property set.


[in] A ULONG value that identifies the size, in bytes, of the data referenced by pvPropParams.


[out] An LPVOID pointer to the data type that receives the requested property data. The data type that a property returns is defined by that property.


[in] A ULONG value that identifies the size, in bytes, of the data referenced by pvPropData.


[out] A PULONG pointer to a DWORD value that identifies the size of the data, in bytes, returned into pvPropData. This value should be less than or equal to the value that you originally provided in cbPropData.

If successful, this function returns MMSYSERR_NOERROR.

If it fails, this function returns MMSYSERR_INVALPARAM, MMSYSERR_NODRIVER, or other driver-specific error messages.

To obtain extended error information, call the GetLastError function.

Windows Embedded CEWindows CE 5.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions