MXDM_GETLINECONTROLS

Sent to an audio mixer device driver to get one or all controls associated with the specified line. This message is normally sent to an audio mixer driver in response to a mixerGetLineControls call.

MMSYSERR_NOTENABLED

The driver failed to load or initialize.

MIXERR_INVALLINE

The audio mixer device line reference is invalid.

MIXERR_INVALCONTROL

The audio mixer device control reference is invalid.


dwParam1

Specifies a pointer to a MIXERLINECONTROLS structure that references the MIXERCONTROL structures to receive the line controls information being requested.

dwParam2

Specifies flags for getting the line controls information. This argument is identical to the fdwControls argument passed to the mixerGetLineControls function. For additional information about the flag settings, see the mixerGetLineControls function listed in the SDK documentation.

An audio mixer driver must support this message. The Mixer Manager will validate the following parameters for the MXDM_GETLINECONTROLS message before calling the driver. Your driver does not need to check for the following conditions:

1 dwParam1 will contain a valid pointer to a MIXERLINECONTROLS structure. This structure will be at least large enough to hold the base MIXERLINECONTROLS structure members. This buffer has also been validated to insure it is big enough to hold at least cbStruct bytes of information.

2 All members of the MIXERLINECONTROLS structure have been validated to contain proper structure sizes and a valid pointer to one or more MIXERCONTROL structures.

3 dwParam2 will be a valid combination of flags.

A mixer device driver must validate the dwControlID, dwLineID and dwControlType members of the MIXERLINECONTROLS structure if they apply to the query type being requested. The driver must also verify that the cControls member is valid for the MIXER_GETLINECONTROLSF_ALL query. The other two query types MIXER_GETLINECONTROLSF_ONEBYID and MIXER_GETLINECONTROLSF_ONEBYTYPE will cause the mixer manager to validate the cControls member to be one.

An application can generate three types of queries for a mixer line control. A driver must use the bitwise AND operator with dwParam2 and the MIXER_GETLINECONTROLSF_QUERYMASK constant to obtain the query type.

All mixer drivers must support these queries. If a query other than those previously mentioned is sent, the mixer driver must return MMSYSERR_NOTSUPPORTED.