[DllImport("winmm.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern uint waveInGetDevCaps(uint uDeviceID, ref WAVEINCAPS pwic, uint cbwic);
Declare Auto Function waveInGetDevCaps Lib "winmm.dll" (ByVal uDeviceID as Integer, ByRef lpCaps As WAVEINCAPS, _
ByVal uSize As Integer) As Integer
C# 2005 version of structure
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct WAVEINCAPS
{
public ushort wMid;
public ushort wPid;
public uint vDriverVersion;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
public string szPname;
public uint dwFormats;
public ushort wChannels;
public ushort wReserved1;
}
Do you know one? Please contribute it!
Taken from openNetCF in OpenNETCF.Win32.Wave
Please add some!
public string[] GetRecordingDeviceList(){
uint total = waveInGetNumDevs();
string[] list = new string[total];
WAVEINCAPS pwoc = new WAVEINCAPS();
for (uint i = 0; i < total; i++) {
waveInGetDevCaps(i, ref pwoc, (uint)Marshal.SizeOf(typeof(WAVEINCAPS)));
list[i] = pwoc.szPname;
}
return list;
}