[StructLayout(LayoutKind.Sequential)]
struct WAVEFORMATEX
{
public ushort wFormatTag;
public ushort nChannels;
public uint nSamplesPerSec;
public uint nAvgBytesPerSec;
public ushort nBlockAlign;
public ushort wBitsPerSample;
public ushort cbSize;
}
Friend Structure WAVEFORMATEX
Dim wFormatTag As UShort
Dim nChannels As UShort
Dim nSamplesPerSec As UInteger
Dim nAvgBytesPerSec As UInteger
Dim nBlockAlign As UShort
Dim wBitsPerSample As UShort
Dim cbSize As UShort
Public Sub SetAutoParams()
nBlockAlign = CUShort(nChannels * (wBitsPerSample \ 8))
nAvgBytesPerSec = nBlockAlign * nSamplesPerSec
cbSize = CUShort(Marshal.SizeOf(Me))
End Sub
End Structure
None.
The VB.Net implementation includes a subroutine, SetAutoParams, that will set automatically the remaining fields of the structure, according to MSDN specifications.