mixerGetLineControls (winmm)
Last changed: -84.155.137.237

.
Summary
TODO - a short description

C# Signature:

[DllImport("winmm.dll")]
static extern Int32 mixerGetLineControls(IntPtr hmxobj,
   ref MIXERLINECONTROLS pmxlc, UInt32 fdwControls);

VB Signature:

Declare Function mixerGetLineControls Lib "winmm.dll" (hmxobj As IntPtr, _
   ByRef pmxlc As MIXERLINECONTROLS, fdwControls As Integer) As Integer

User-Defined Types:

MIXERLINECONTROLS

Notes:

None.

Tips & Tricks:

Please add some!

The fdwControls parameter can be composed constants from two distinct enumerations, one of which is used frequently in the winmm library, and the other constant is only used with this method. Consequently, you should wrap up the method definition so that it is easier to use, and more consistent. In the following example, the actual extern is private, while the public static method lists both enums to callers.

[DllImport("winmm.dll")]
private static extern Int32 mixerGetLineControls(IntPtr hmxobj, ref MIXERLINECONTROLS pmxlc, uint fdwControls);

public static Int32 mixerGetLineControls(IntPtr hmxobj, ref MIXERLINECONTROLS pmxlc, MIXER_OBJECTF mixerFlags, MIXER_GETLINECONTROLSF controlsFlags)
{
     uint flags = ((uint)mixerFlags | (uint)controlsFlags);
     return mixerGetLineControls(hmxobj, ref pmxlc, flags);
}

public enum MIXER_OBJECTF : uint
{
     HANDLE   = 0x80000000u,
     MIXER    = 0x00000000u,
     HMIXER   = (HANDLE | MIXER),
     WAVEOUT  = 0x10000000u,
     HWAVEOUT = (HANDLE | WAVEOUT),
     WAVEIN   = 0x20000000u,
     HWAVEIN  = (HANDLE | WAVEIN),
     MIDIOUT  = 0x30000000u,
     HMIDIOUT = (HANDLE | MIDIOUT),
     MIDIIN   = 0x40000000u,
     HMIDIIN  = (HANDLE | MIDIIN),
     AUX      = 0x50000000u,
}
public enum MIXER_GETLINECONTROLSF : uint
{
     ALL      = 0x00000000u,
     ONEBYID      = 0x00000001u,
     ONEBYTYPE    = 0x00000002u,

     QUERYMASK    = 0x0000000Fu,
}

Sample Code:

Please add some!

Alternative Managed API:

The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a Mixer control.

Documentation