WAVEOUTCAPS (Structures)
Last changed: zunair@hotmail.com-71.225.62.191

.
Summary
The WAVEOUTCAPS structure contains information about wave devices. See waveOutGetCaps in "winmm.dll" module.

C# Definition:

[StructLayout(LayoutKind.Sequential, Pack = 4, CharSet = CharSet.Auto)]
public struct WAVEOUTCAPS
{
    public ushort wMid;
    public ushort wPid;
    public uint vDriverVersion;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
    public string szPname;
    public uint dwFormats;
    public ushort wChannels;
    public ushort wReserved1;
    public uint dwSupport;
}

VB Definition:

<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential, CharSet:=Runtime.InteropServices.CharSet.Auto)> _
Public Structure WAVEOUTCAPS
     Public wMid As Short
     Public wPid As Short
     Public vDriverVersion As Short

     <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=32)> _
     Public szPname As String

     Public dwFormats As Integer
     Public wChannels As Short
     Public wReserved1 As Short
     Public dwSupport As WAVECAPS
End Structure

User-Defined Field Types:

  Enum WAVECAPS As UInteger
    WAVECAPS_PITCH = &H1    'supports pitch control
    WAVECAPS_PLAYBACKRATE = &H2    'supports playback rate control
    WAVECAPS_VOLUME = &H4    'supports volume control
    WAVECAPS_LRVOLUME = &H8    'separate left-right volume control
    WAVECAPS_SYNC = &H10
    WAVECAPS_SAMPLEACCURATE = &H20
    WAVECAPS_DIRECTSOUND = &H40
    End Enum

Notes:

None.

Documentation
WAVEOUTCAPS on MSDN