Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This structure describes the state and metrics of an audio line.

Syntax

typedef struct { 
  DWORD 
cbStruct; 
  DWORD 
dwDestination; 
  DWORD 
dwSource; 
  DWORD 
dwLineID; 
  DWORD 
fdwLine; 
  DWORD 
dwUser; 
  DWORD 
dwComponentType; 
  DWORD 
cChannels; 
  DWORD 
cConnections; 
  DWORD 
cControls; 
  CHAR  
szShortName[MIXER_SHORT_NAME_CHARS]; 
  CHAR  
szName[MIXER_LONG_NAME_CHARS]; 
  struct { 
	DWORD 
dwType; 
	DWORD 
dwDeviceID; 
	WORD wMid; 
	WORD 
wPid; 
	MMVERSION 
vDriverVersion; 
	CHAR 
szPname[MAXPNAMELEN]; 
  } Target; 
} MIXERLINE; 

Members

cbStruct

Size, in bytes, of the MIXERLINEstructure.

This member must be initialized before calling the mixerGetLineInfofunction.

The size specified in this member must be large enough to contain the MIXERLINEstructure.

When mixerGetLineInforeturns, this member contains the actual size of the information returned.

The returned information will not exceed the requested size.

dwDestination

Destination line index.

This member ranges from zero to one less than the value specified in the cDestinationsmember of the MIXERCAPSstructure retrieved by the mixerGetDevCapsfunction.

When the mixerGetLineInfofunction is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned.

The dwSourcemember must be set to zero in this case.

When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the dwSourcemember that is associated with the dwDestinationmember are returned.

dwSource

Index for the audio source line associated with the dwDestinationmember. That is, this member specifies the nth audio source line associated with the specified audio destination line.

This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfofunction.

When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnectionsmember for the audio destination line given in the dwDestinationmember.

dwLineID

An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINEstructure.

This identifier is unique for each mixer device and can be in any format.

An application should use this identifier only as an abstract handle.

fdwLine

Status and support flags for the audio line.

This member is always returned to the application and requires no initialization.

The following table shows the possible flags.

Flag Description

MIXERLINE_LINEF_ACTIVE

Audio line is active.

An active line indicates that a signal is probably passing through the line.

MIXERLINE_LINEF_DISCONNECTED

Audio line is disconnected.

A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.

MIXERLINE_LINEF_SOURCE

Audio line is an audio source line associated with a single audio destination line.

If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.

If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set).

If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set.

A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active.

If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.

dwUser

Instance data defined by the audio device for the line.

This member is intended for custom mixer applications designed specifically for the mixer device returning this information. Other applications should ignore this data.

dwComponentType

Component type for this audio line.

An application can use this information to display tailored graphics or to search for a particular component.

If an application does not use component types, this member should be ignored.

The following table shows the possible values.

Value Description

MIXERLINE_COMPONENTTYPE_DST_DIGITAL

Audio line is a digital destination (for example, digital input to a DAT or CD audio device).

MIXERLINE_COMPONENTTYPE_DST_HEADPHONES

Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones.

Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.

MIXERLINE_COMPONENTTYPE_DST_LINE

Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC).

Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.

MIXERLINE_COMPONENTTYPE_DST_MONITOR

Audio line is a destination used for a monitor.

MIXERLINE_COMPONENTTYPE_DST_SPEAKERS

Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers.

This is the typical component type for the audio output of audio cards for personal computers.

MIXERLINE_COMPONENTTYPE_DST_TELEPHONE

Audio line is a destination that will be routed to a telephone line.

MIXERLINE_COMPONENTTYPE_DST_UNDEFINED

Audio line is a destination that cannot be defined by one of the standard component types.

A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.

MIXERLINE_COMPONENTTYPE_DST_VOICEIN

Audio line is a destination that will be the final recording source for voice input.

This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition.

Support for this line is optional for a mixer device.

Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

MIXERLINE_COMPONENTTYPE_DST_WAVEIN

Audio line is a destination that will be the final recording source for the waveform-audio input (ADC).

This line typically provides some sort of gain or attenuation.

This is the typical component type for the recording line of most audio cards for personal computers.

MIXERLINE_COMPONENTTYPE_SRC_ANALOG

Audio line is an analog source (for example, analog output from a video-cassette tape).

MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY

Audio line is a source originating from the auxiliary audio line.

This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.

MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC

Audio line is a source originating from the output of an internal audio CD.

This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).

MIXERLINE_COMPONENTTYPE_SRC_DIGITAL

Audio line is a digital source (for example, digital output from a DAT or audio CD).

MIXERLINE_COMPONENTTYPE_SRC_LINE

Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source.

Because most audio cards for computers provide some sort of gain for the recording source line, the mixer device uses the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.

MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE

Audio line is a microphone recording source.

Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input.

A microphone audio line typically provides some sort of gain.

Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.

MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER

Audio line is a source originating from personal computer speaker.

Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card.

Some audio cards support the ability to use this output as a recording source.

MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER

Audio line is a source originating from the output of an internal synthesizer.

Most audio cards for personal computers provide some sort of synthesizer.

MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE

Audio line is a source originating from an incoming telephone line.

MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED

Audio line is a source that cannot be defined by one of the standard component types.

A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.

MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT

Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC).

Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination.

Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.

cChannels

Maximum number of separate channels that can be manipulated independently for the audio line.

The minimum value for this field is 1 because a line must have at least one channel.

Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.

Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel.

A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.

cConnections

Number of connections that are associated with the audio line.

This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it.

This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.

cControls

Number of controls associated with the audio line.

This value can be zero.

If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.

szShortName

Short string that describes the audio mixer line specified in the dwLineIDmember.

This description should be appropriate as a concise label for the line.

szName

String that describes the audio mixer line specified in the dwLineIDmember.

This description should be appropriate as a complete description for the line.

Target

Target media information.

dwType

Target media device type associated with the audio line described in the MIXERLINEstructure.

An application must ignore target information for media device types it does not use.

The following table shows the possible values.

Value Description

MIXERLINE_TARGETTYPE_AUX

The audio line described by the MIXERLINEstructure is bound to the auxiliary device detailed in the remaining members of the Targetstructure member of the MIXERLINEstructure.

MIXERLINE_TARGETTYPE_MIDIIN

The audio line described by the MIXERLINEstructure is bound to the MIDI input device detailed in the remaining members of the Targetstructure member of the MIXERLINEstructure.

MIXERLINE_TARGETTYPE_MIDIOUT

The audio line described by the MIXERLINEstructure is bound to the MIDI output device detailed in the remaining members of the Targetstructure member of the MIXERLINEstructure.

MIXERLINE_TARGETTYPE_UNDEFINED

The audio line described by the MIXERLINEstructure is not bound to a defined media type.

All remaining Targetstructure members of the MIXERLINEstructure should be ignored.

An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfofunction with the MIXER_GETLINEINFOF_TARGETTYPE flag.

MIXERLINE_TARGETTYPE_WAVEIN

The audio line described by the MIXERLINEstructure is bound to the waveform-audio input device detailed in the remaining members of the Targetstructure member of the MIXERLINEstructure.

MIXERLINE_TARGETTYPE_WAVEOUT

The audio line described by the MIXERLINEstructure is bound to the waveform-audio output device detailed in the remaining members of the Targetstructure member of the MIXERLINEstructure.

dwDeviceID

Current device identifier of the target media device when the dwTypemember is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED.

This identifier is identical to the current media device index of the associated media device.

When calling the mixerGetLineInfofunction with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.

wMid

Manufacturer identifier of the target media device when the dwTypemember is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED.

This identifier is identical to the wMidmember of the device-capabilities structure for the associated media.

wPid

Product identifier of the target media device when the dwTypemember is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPidmember of the device-capabilities structure for the associated media.

vDriverVersion

Driver version of the target media device when the dwTypemember is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersionmember of the device-capabilities structure for the associated media.

szPname

Product name of the target media device when the dwTypemember is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED.

This name is identical to the szPnamemember of the device-capabilities structure for the associated media.

The length of szPnameis defined by the following macro in Mmsystem.h:

#define MAXPNAMELEN 32 /* max product name length (including NULL) */

Remarks

Manufacturer and product identifiers are used in Windows-based desktop systems to allow applications to determine which devices are installed on a host computer.

Although these identifiers are supported in Windows Embedded CE, they are rarely needed or used because embedded devices typically have built-in devices with built-in drivers.

Requirements

Header mmsystem.h
Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note Version 2.12 requires DXPAK 1.0 or later

See Also