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. 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.
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
Address of 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.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in mmsystem.h.
  Unicode: Defined as Unicode and ANSI structures.

See Also

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