diff --git a/mingw-w64-headers/include/audioclient.idl b/mingw-w64-headers/include/audioclient.idl
index f7a0a66..73c2f9d 100644
--- a/mingw-w64-headers/include/audioclient.idl
+++ b/mingw-w64-headers/include/audioclient.idl
@@ -60,12 +60,26 @@
  AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR = 0x4
 };
 
-typedef enum AUDCLNT_STREAMOPTIONS {
+typedef [v1_enum] enum AUDCLNT_STREAMOPTIONS {
   AUDCLNT_STREAMOPTIONS_NONE = 0x0,
   AUDCLNT_STREAMOPTIONS_RAW = 0x1,
   AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 0x2,
   AUDCLNT_STREAMOPTIONS_AMBISONICS = 0x4
 } AUDCLNT_STREAMOPTIONS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(AUDCLNT_STREAMOPTIONS);")
+
+typedef enum AMBISONICS_TYPE {
+  AMBISONICS_TYPE_FULL3D = 0x0
+} AMBISONICS_TYPE;
+
+typedef enum AMBISONICS_CHANNEL_ORDERING {
+  AMBISONICS_CHANNEL_ORDERING_ACN = 0x0
+} AMBISONICS_CHANNEL_ORDERING;
+
+typedef enum AMBISONICS_NORMALIZATION {
+  AMBISONICS_NORMALIZATION_SN3D = 0x0,
+  AMBISONICS_NORMALIZATION_N3D = 0x1
+} AMBISONICS_NORMALIZATION;
 
 cpp_quote("")
 typedef struct AudioClientProperties {
@@ -75,6 +89,21 @@
   AUDCLNT_STREAMOPTIONS Options;
 } AudioClientProperties;
 
+typedef struct AudioClient3ActivationParams {
+  GUID tracingContextId;
+} AudioClient3ActivationParams;
+
+typedef struct AMBISONICS_PARAMS {
+  UINT32 u32Size;
+  UINT32 u32Version;
+  AMBISONICS_TYPE u32Type;
+  AMBISONICS_CHANNEL_ORDERING u32ChannelOrdering;
+  AMBISONICS_NORMALIZATION u32Normalization;
+  UINT32 u32Order;
+  UINT32 u32NumChannels;
+  UINT32 *pu32ChannelMap;
+} AMBISONICS_PARAMS;
+
 cpp_quote("")
 [object, local, uuid (1cb9ad4c-DBFA-4c32-B178-C2F568A703B2), pointer_default (unique)]
 interface IAudioClient : IUnknown {
@@ -100,6 +129,13 @@
   HRESULT GetBufferSizeLimits ([in] const WAVEFORMATEX *pFormat,[in] WINBOOL bEventDriven,[in] REFERENCE_TIME *phnsMinBufferDuration,[in] REFERENCE_TIME *phnsMaxBufferDuration);
 }
 
+[object, local, uuid (7ed4ee07-8e67-4cd4-8c1a-2b7a5987ad42), pointer_default (unique)]
+interface IAudioClient3 : IAudioClient2 {
+  HRESULT GetSharedModeEnginePeriod ([in] const WAVEFORMATEX *pFormat, [out] UINT32 *pDefaultPeriodInFrames, [out] UINT32 *pFundamentalPeriodInFrames, [out] UINT32 *pMinPeriodInFrames, [out] UINT32 *pMaxPeriodInFrames);
+  HRESULT GetCurrentSharedModeEnginePeriod ([out, unique] WAVEFORMATEX **ppFormat, [out] UINT32 *pCurrentPeriodInFrames);
+  HRESULT InitializeSharedAudioStream ([in] DWORD StreamFlags, [in] UINT32 PeriodInFrames, [in] const WAVEFORMATEX *pFormat, [in] LPCGUID AudioSessionGuid);
+}
+
 cpp_quote("")
 [object, local, uuid (F294ACFC-3146-4483-A7BF-ADDCA7C260E2), helpstring ("IAudioRenderClient Interface"), pointer_default (unique)]
 interface IAudioRenderClient : IUnknown {
@@ -162,6 +198,14 @@
   HRESULT GetAllVolumes ([in] UINT32 dwCount,[out, size_is (dwCount),] float *pfVolumes);
 }
 
+[object, local, uuid (28724c91-df35-4856-9f76-d6a26413f3df), pointer_default (unique)]
+interface IAudioAmbisonicsControl : IUnknown {
+    HRESULT SetData([in] const AMBISONICS_PARAMS *pAmbisonicsParams, [in] UINT32 cbAmbisonicsParams);
+    HRESULT SetHeadTracking([in] WINBOOL bEnableHeadTracking);
+    HRESULT GetHeadTracking([out] WINBOOL *pbEnableHeadTracking);
+    HRESULT SetRotation([in] float X, [in] float Y, [in] float Z, [in] float W);
+}
+
 cpp_quote("")
 [object, local, uuid (1c158861-B533-4b30-B1CF-E853E51C59B8), pointer_default (unique)]
 interface IChannelAudioVolume : IUnknown {
@@ -208,6 +252,11 @@
 cpp_quote("#define AUDCLNT_E_OFFLOAD_MODE_ONLY AUDCLNT_ERR(0x24)")
 cpp_quote("#define AUDCLNT_E_NONOFFLOAD_MODE_ONLY AUDCLNT_ERR(0x25)")
 cpp_quote("#define AUDCLNT_E_RESOURCES_INVALIDATED AUDCLNT_ERR(0x26)")
+cpp_quote("#define AUDCLNT_E_RAW_MODE_UNSUPPORTED AUDCLNT_ERR(0x027)")
+cpp_quote("#define AUDCLNT_E_ENGINE_PERIODICITY_LOCKED AUDCLNT_ERR(0x028)")
+cpp_quote("#define AUDCLNT_E_ENGINE_FORMAT_LOCKED AUDCLNT_ERR(0x029)")
+cpp_quote("#define AUDCLNT_E_HEADTRACKING_ENABLED AUDCLNT_ERR(0x030)")
+cpp_quote("#define AUDCLNT_E_HEADTRACKING_UNSUPPORTED AUDCLNT_ERR(0x040)")
 cpp_quote("#define AUDCLNT_S_BUFFER_EMPTY AUDCLNT_SUCCESS(0x1)")
 cpp_quote("#define AUDCLNT_S_THREAD_ALREADY_REGISTERED AUDCLNT_SUCCESS(0x2)")
 cpp_quote("#define AUDCLNT_S_POSITION_STALLED AUDCLNT_SUCCESS(0x3)")
