WAVEFORMATEX (Structures)
Last changed: -87.2.12.102

.
Summary
TODO - a short description

C# Definition:

[StructLayout(LayoutKind.Sequential)]
    public struct WaveFormatExtensible
    {
        public ushort wFormatTag;
        public ushort nChannels;
        public uint nSamplesPerSec;
        public uint nAvgBytesPerSec;
        public ushort nBlockAlign;
        public ushort wBitsPerSample;
        public ushort cbSize;

        public ushort wValidBitsPerSample;
        public uint dwChannelMask;
        public Guid SubFormat;      
    }

VB Definition:

<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

User-Defined Field Types:

None.

Notes:

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.

Documentation