mixerGetLineControls  21WS_SG 

The mixerGetLineControls function retrieves one or more controls associated with an audio line.

MMRESULT mixerGetLineControls(

    HMIXEROBJ hmxobj,

 

    LPMIXERLINECONTROLS pmxlc,

 

    DWORD fdwControls

 

   );

 

 

Parameters

hmxobj

Handle of the mixer device object that is being queried.

pmxlc

Address of a MIXERLINECONTROLSYOAZSP structure. This structure is used to reference one or more MIXERCONTROLZG6_Y. structures to be filled with information about the controls associated with an audio line. The cbStruct member of the MIXERLINECONTROLS structure must always be initialized to be the size, in bytes, of the MIXERLINECONTROLS structure.

fdwControls

Flags for retrieving information about one or more controls associated with an audio line. The following values are defined:

MIXER_GETLINECONTROLSF_ALL

The pmxlc parameter references a list of MIXERCONTROLZG6_Y. structures that will receive information on all controls associated with the audio line identified by the dwLineID member of the MIXERLINECONTROLSYOAZSP structure. The cControls member must be initialized to the number of controls associated with the line. This number is retrieved from the cControls member of the MIXERLINE1R5NZWY structure returned by the mixerGetLineInfoH.Q0WH function. The cbmxctrl member must be initialized to the size, in bytes, of a single MIXERCONTROL structure. The pamxctrl member must point to the first MIXERCONTROL structure to be filled. The dwControlID and dwControlType members are ignored for this query.

MIXER_GETLINECONTROLSF_ONEBYID

The pmxlc parameter references a single MIXERCONTROL structure that will receive information on the control identified by the dwControlID member of the MIXERLINECONTROLS structure. The cControls member must be initialized to 1. The cbmxctrl member must be initialized to the size, in bytes, of a single MIXERCONTROL structure. The pamxctrl member must point to a MIXERCONTROL structure to be filled. The dwLineID and dwControlType members are ignored for this query. This query is usually used to refresh a control after receiving a MM_MIXM_CONTROL_CHANGE40FLZ55 control change notification message by the user-defined callback (see mixerOpenO9O8CH).

MIXER_GETLINECONTROLSF_ONEBYTYPE

The mixerGetLineControls function retrieves information about the first control of a specific class for the audio line that is being queried. The pmxlc parameter references a single MIXERCONTROLZG6_Y. structure that will receive information about the specific control. The audio line is identified by the dwLineID member. The control class is specified in the dwControlType member of the MIXERLINECONTROLSYOAZSP structure.

The dwControlID member is ignored for this query. This query can be used by an application to get information on a single control associated with a line. For example, you might want your application to use a peak meter only from a waveform-audio output line.

MIXER_OBJECTF_AUX

The hmxobj parameter is an auxiliary device identifier in the range of zero to one less than the number of devices returned by the auxGetNumDevs9HC3JZ function.

MIXER_OBJECTF_HMIDIIN

The hmxobj parameter is the handle of a MIDI input device. This handle must have been returned by the midiInOpenFUXRPR function.

MIXER_OBJECTF_HMIDIOUT

The hmxobj parameter is the handle of a MIDI output device. This handle must have been returned by the midiOutOpen1UBKBTS function.

MIXER_OBJECTF_HMIXER

The hmxobj parameter is a mixer device handle returned by the mixerOpenO9O8CH function. This flag is optional.

MIXER_OBJECTF_HWAVEIN

The hmxobj parameter is a waveform-audio input handle returned by the waveInOpenDZFQLF function.

MIXER_OBJECTF_HWAVEOUT

The hmxobj parameter is a waveform-audio output handle returned by the waveOutOpen2MUO.P_ function.

MIXER_OBJECTF_MIDIIN

The hmxobj parameter is the identifier of a MIDI input device. This identifier must be in the range of zero to one less than the number of devices returned by the midiInGetNumDevsEDN_AB function.

MIXER_OBJECTF_MIDIOUT

The hmxobj parameter is the identifier of a MIDI output device. This identifier must be in the range of zero to one less than the number of devices returned by the midiOutGetNumDevs18YY8W6 function.

MIXER_OBJECTF_MIXER

The hmxobj parameter is the identifier of a mixer device in the range of zero to one less than the number of devices returned by the mixerGetNumDevs22K3Y1 function. This flag is optional.

MIXER_OBJECTF_WAVEIN

The hmxobj parameter is the identifier of a waveform-audio input device in the range of zero to one less than the number of devices returned by the waveInGetNumDevs4N_N_MV function.

MIXER_OBJECTF_WAVEOUT

The hmxobj parameter is the identifier of a waveform-audio output device in the range of zero to one less than the number of devices returned by the waveOutGetNumDevs1_HR_R7 function.

 

Return Values

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

MIXERR_INVALCONTROL

The control reference is invalid.

MIXERR_INVALLINE

The audio line reference is invalid.

MMSYSERR_BADDEVICEID

The hmxobj parameter specifies an invalid device identifier.

MMSYSERR_INVALFLAG

One or more flags are invalid.

MMSYSERR_INVALHANDLE

The hmxobj parameter specifies an invalid handle.

MMSYSERR_INVALPARAM

One or more parameters are invalid.

MMSYSERR_NODRIVER

No mixer device is available for the object specified by hmxobj.

 

See Also

MIXERLINECONTROLS, MIXERCONTROL, MIXERLINE, mixerGetLineInfo, MM_MIXM_CONTROL_CHANGE, mixerOpen, auxGetNumDevs, midiInOpen, midiOutOpen, waveInOpen, waveOutOpen, midiInGetNumDevs, midiOutGetNumDevs, mixerGetNumDevs, waveInGetNumDevs, waveOutGetNumDevs