MIXERCONTROL structure (mmeapi.h)
The MIXERCONTROL structure describes the state and metrics of a single control for an audio line.
Syntax
typedef struct tMIXERCONTROL {
DWORD cbStruct;
DWORD dwControlID;
DWORD dwControlType;
DWORD fdwControl;
DWORD cMultipleItems;
char szShortName[MIXER_SHORT_NAME_CHARS];
char szName[MIXER_LONG_NAME_CHARS];
union {
struct {
LONG lMinimum;
LONG lMaximum;
} DUMMYSTRUCTNAME;
struct {
DWORD dwMinimum;
DWORD dwMaximum;
} DUMMYSTRUCTNAME2;
DWORD dwReserved[6];
} Bounds;
union {
DWORD cSteps;
DWORD cbCustomData;
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROL, *PMIXERCONTROL, *LPMIXERCONTROL;
Members
cbStruct
Size, in bytes, of the MIXERCONTROL structure.
dwControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
dwControlType
Class of the control for which the identifier is specified in dwControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
fdwControl
Status and support flags for the audio line control. The following values are defined:
cMultipleItems
Number of items per channel that make up a MIXERCONTROL_CONTROLF_MULTIPLE control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control, do not use this member; it will be zero.
szShortName[MIXER_SHORT_NAME_CHARS]
Short string that describes the audio line control specified by dwControlID. This description should be appropriate to use as a concise label for the control.
szName[MIXER_LONG_NAME_CHARS]
String that describes the audio line control specified by dwControlID. This description should be appropriate to use as a complete description for the control.
Bounds
Union of boundary types.
Bounds.DUMMYSTRUCTNAME
Bounds.DUMMYSTRUCTNAME.lMinimum
Minimum signed value for a control that has a signed boundary nature. This member cannot be used in conjunction with dwMinimum.
Bounds.DUMMYSTRUCTNAME.lMaximum
Maximum signed value for a control that has a signed boundary nature. This member cannot be used in conjunction with dwMaximum.
Bounds.DUMMYSTRUCTNAME2
Bounds.DUMMYSTRUCTNAME2.dwMinimum
Minimum unsigned value for a control that has an unsigned boundary nature. This member cannot be used in conjunction with lMinimum.
Bounds.DUMMYSTRUCTNAME2.dwMaximum
Maximum unsigned value for a control that has an unsigned boundary nature. This member cannot be used in conjunction with lMaximum.
Bounds.dwReserved[6]
Reserved; do not use.
Metrics
Union of boundary metrics.
Metrics.cSteps
Number of discrete ranges within the union specified for a control specified by the Bounds member. This member overlaps with the other members of the Metrics structure member and cannot be used in conjunction with those members.
Metrics.cbCustomData
Size, in bytes, required to contain the state of a custom control class. This member is appropriate only for the MIXERCONTROL_CONTROLTYPE_CUSTOM control class.
Metrics.dwReserved[6]
Reserved; do not use.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Header | mmeapi.h |
See also
Audio Mixers