MIXERLINECONTROLS

The MIXERLINECONTROLS structure contains information about the controls of an audio line.

typedef struct { 
    DWORD cbStruct; 
    DWORD dwLineID; 
    union { 
        DWORD dwControlID; 
        DWORD dwControlType; 
    }; 
    DWORD          cControls; 
    DWORD          cbmxctrl; 
    LPMIXERCONTROL pamxctrl; 
} MIXERLINECONTROLS; 
 

Members

cbStruct

Size, in bytes, of the MIXERLINECONTROLS structure. This member must be initialized before calling the mixerGetLineControls function. The size specified in this member must be large enough to contain the MIXERLINECONTROLS structure. When mixerGetLineControls returns, this member contains the actual size of the information returned. The returned information will not exceed the requested size, nor will it be smaller than the MIXERLINECONTROLS structure.

dwLineID

Line identifier for which controls are being queried. This member is not used if the MIXER_GETLINECONTROLSF_ONEBYID flag is specified for the mixerGetLineControls function, but the mixer device still returns this member in this case. The dwControlID and dwControlType members are not used when MIXER_GETLINECONTROLSF_ALL is specified.

dwControlID

Control identifier of the desired control. This member is used with the MIXER_GETLINECONTROLSF_ONEBYID flag for the mixerGetLineControls function to retrieve the control information of the specified control. Note that the dwLineID member of the MIXERLINECONTROLS structure will be returned by the mixer device and is not required as an input parameter. This member overlaps with the dwControlType member and cannot be used in conjunction with the MIXER_GETLINECONTROLSF_ONEBYTYPE query type.

dwControlType

Class of the desired Control Types. This member is used with the MIXER_GETLINECONTROLSF_ONEBYTYPE flag for the mixerGetLineControls function to retrieve the first control of the specified class on the line specified by the dwLineID member of the MIXERLINECONTROLS structure. This member overlaps with the dwControlID member and cannot be used in conjunction with the MIXER_GETLINECONTROLSF_ONEBYID query type. See dwControlType member description in MIXERCONTROL.

cControls

Number of MIXERCONTROL structure elements to retrieve. This member must be initialized by the application before calling the mixerGetLineControls function. This member can be 1 only if MIXER_GETLINECONTROLSF_ONEBYID or MIXER_GETLINECONTROLSF_ONEBYTYPE is specified or the value returned in the cControls member of the MIXERLINE structure returned for an audio line. This member cannot be zero. If an audio line specifies that it has no controls, mixerGetLineControls should not be called.

cbmxctrl

Size, in bytes, of a single MIXERCONTROL structure. The size specified in this member must be at least large enough to contain the base MIXERCONTROL structure. The total size, in bytes, required for the buffer pointed to by the pamxctrl member is the product of the cbmxctrl and cControls members of the MIXERLINECONTROLS structure.

pamxctrl

Pointer to one or more MIXERCONTROL structures to receive the properties of the requested audio line controls. This member cannot be NULL and must be initialized before calling the mixerGetLineControls function. Each element of the array of controls must be at least large enough to contain a base MIXERCONTROL structure. The cbmxctrl member must specify the size, in bytes, of each element in this array. No initialization of the buffer pointed to by this member is required by the application. All members are filled in by the mixer device (including the cbStruct member of each MIXERCONTROL structure) upon returning successfully.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Unicode:** Declared as Unicode and ANSI structures.

See Also

Audio Mixers, Audio Mixer Structures, MIXERCONTROL, MIXERLINE, mixerGetLineControls