Definition Untested!!
[StructLayout(LayoutKind.Sequential)]
public class WaveFormatExtensible
{
//WAVEFORMATEX
public ushort wFormatTag;
public ushort nChannels;
public uint nSamplesPerSec;
public uint nAvgBytesPerSec;
public ushort nBlockAlign;
public ushort wBitsPerSample;
public ushort cbSize;
//WAVEFORMATEXTENSIBLE
public ushort wValidBitsPerSample;
public uint dwChannelMask;
public Guid SubFormat;
}
<StructLayout(LayoutKind.Sequential, pack:=1)> Public Structure WAVEFORMATEXTENSIBLE
Dim Format As WAVEFORMATEX
'union {
'WORD wValidBitsPerSample;
'WORD wSamplesPerBlock;
'WORD wReserved;
';} Samples;
Dim wUnionSamples As UInt16
Dim dwChannelMask As UInteger
Dim SubFormat As Guid
End Structure
None.
VB - wUnionSamples replaces the union of 3 values commented out above it as a union is not possible in VB - just put the value into wUnionSamples for whichever of the wValidBitsPerSample/wSamplesPerBlock/wReserved required based on the SubFormat.