[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;
}
<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
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
None.