thanks From: Matthew.van.Eerde@xxxxxxxxxxxxx To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: wasapi audioclientproperties Date: Wed, 11 Jun 2014 22:46:23 +0000 OK, so you’re using a USB audio device. FWIW, on Windows 7 I would expect IMMDevice::Activate(IAudioClient2) to fail; IAudioClient2 is a Windows 8.0-and-later thing. Even on Windows 8.0, I would expect IAudioClient2::SetClientProperties(…) to fail if you give it an AudioClientProperties object that has .cbSize = 16; in Windows 8.0, sizeof(AudioClientProperties) was 12, not 16, since there was no .Options member. Raw mode is purely a Windows 8.1-and-later thing. // audioclient.h #if (NTDDI_VERSION < NTDDI_WINBLUE) typedef struct AudioClientProperties { UINT32 cbSize; BOOL bIsOffload; AUDIO_STREAM_CATEGORY eCategory; } AudioClientProperties; #else typedef struct AudioClientProperties { UINT32 cbSize; BOOL bIsOffload; AUDIO_STREAM_CATEGORY eCategory; AUDCLNT_STREAMOPTIONS Options; } AudioClientProperties; #endif