Partially revert 97452087928e38c9bcf.
diff --git a/mingw-w64-headers/include/unknwn.h b/mingw-w64-headers/include/unknwn.h
index 3a94db5..f3942e9 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 3.20 from include/unknwn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 1.6 from include/unknwn.idl - Do not edit ***/
 
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
@@ -20,25 +20,16 @@
 #ifndef __IUnknown_FWD_DEFINED__
 #define __IUnknown_FWD_DEFINED__
 typedef interface IUnknown IUnknown;
-#ifdef __cplusplus
-interface IUnknown;
-#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIUnknown_FWD_DEFINED__
 #define __AsyncIUnknown_FWD_DEFINED__
 typedef interface AsyncIUnknown AsyncIUnknown;
-#ifdef __cplusplus
-interface AsyncIUnknown;
-#endif /* __cplusplus */
 #endif
 
 #ifndef __IClassFactory_FWD_DEFINED__
 #define __IClassFactory_FWD_DEFINED__
 typedef interface IClassFactory IClassFactory;
-#ifdef __cplusplus
-interface IClassFactory;
-#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
@@ -102,7 +93,6 @@
 MIDL_INTERFACE("00000000-0000-0000-c000-000000000046")
 IUnknown
 {
-
     BEGIN_INTERFACE
 
     virtual HRESULT STDMETHODCALLTYPE QueryInterface(
@@ -116,7 +106,6 @@
         ) = 0;
 
     END_INTERFACE
-
 };
 #ifdef __CRT_UUID_DECL
 __CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
@@ -127,19 +116,18 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IUnknown *This,
+        IUnknown* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IUnknown *This);
+        IUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IUnknown *This);
+        IUnknown* This);
 
     END_INTERFACE
 } IUnknownVtbl;
-
 interface IUnknown {
     CONST_VTBL IUnknownVtbl* lpVtbl;
 };
@@ -166,6 +154,29 @@
 
 #endif
 
+HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
+    IUnknown* This,
+    REFIID riid,
+    void **ppvObject);
+void __RPC_STUB IUnknown_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
+    IUnknown* This);
+void __RPC_STUB IUnknown_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
+    IUnknown* This);
+void __RPC_STUB IUnknown_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
 #endif  /* __IUnknown_INTERFACE_DEFINED__ */
 
@@ -212,40 +223,39 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     /*** AsyncIUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *Begin_QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         REFIID riid);
 
     HRESULT (STDMETHODCALLTYPE *Finish_QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         void **ppvObject);
 
     HRESULT (STDMETHODCALLTYPE *Begin_AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Finish_AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     HRESULT (STDMETHODCALLTYPE *Begin_Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Finish_Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     END_INTERFACE
 } AsyncIUnknownVtbl;
-
 interface AsyncIUnknown {
     CONST_VTBL AsyncIUnknownVtbl* lpVtbl;
 };
@@ -298,6 +308,50 @@
 
 #endif
 
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_QueryInterface_Proxy(
+    AsyncIUnknown* This,
+    REFIID riid);
+void __RPC_STUB AsyncIUnknown_Begin_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Finish_QueryInterface_Proxy(
+    AsyncIUnknown* This,
+    void **ppvObject);
+void __RPC_STUB AsyncIUnknown_Finish_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_AddRef_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Begin_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE AsyncIUnknown_Finish_AddRef_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Finish_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_Release_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Begin_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE AsyncIUnknown_Finish_Release_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Finish_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
 #endif  /* __AsyncIUnknown_INTERFACE_DEFINED__ */
 
@@ -335,30 +389,29 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IClassFactory *This,
+        IClassFactory* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IClassFactory *This);
+        IClassFactory* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IClassFactory *This);
+        IClassFactory* This);
 
     /*** IClassFactory methods ***/
     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
-        IClassFactory *This,
+        IClassFactory* This,
         IUnknown *pUnkOuter,
         REFIID riid,
         void **ppvObject);
 
     HRESULT (STDMETHODCALLTYPE *LockServer)(
-        IClassFactory *This,
+        IClassFactory* This,
         WINBOOL fLock);
 
     END_INTERFACE
 } IClassFactoryVtbl;
-
 interface IClassFactory {
     CONST_VTBL IClassFactoryVtbl* lpVtbl;
 };
diff --git a/mingw-w64-headers/include/unknwnbase.h b/mingw-w64-headers/include/unknwnbase.h
index 54ea256..297f884 100644
--- a/mingw-w64-headers/include/unknwnbase.h
+++ b/mingw-w64-headers/include/unknwnbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 3.20 from include/unknwnbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 1.6 from include/unknwnbase.idl - Do not edit ***/
 
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
@@ -20,25 +20,16 @@
 #ifndef __IUnknown_FWD_DEFINED__
 #define __IUnknown_FWD_DEFINED__
 typedef interface IUnknown IUnknown;
-#ifdef __cplusplus
-interface IUnknown;
-#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIUnknown_FWD_DEFINED__
 #define __AsyncIUnknown_FWD_DEFINED__
 typedef interface AsyncIUnknown AsyncIUnknown;
-#ifdef __cplusplus
-interface AsyncIUnknown;
-#endif /* __cplusplus */
 #endif
 
 #ifndef __IClassFactory_FWD_DEFINED__
 #define __IClassFactory_FWD_DEFINED__
 typedef interface IClassFactory IClassFactory;
-#ifdef __cplusplus
-interface IClassFactory;
-#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
@@ -98,7 +89,6 @@
 MIDL_INTERFACE("00000000-0000-0000-c000-000000000046")
 IUnknown
 {
-
     BEGIN_INTERFACE
 
     virtual HRESULT STDMETHODCALLTYPE QueryInterface(
@@ -112,7 +102,6 @@
         ) = 0;
 
     END_INTERFACE
-
 };
 #ifdef __CRT_UUID_DECL
 __CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
@@ -123,19 +112,18 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IUnknown *This,
+        IUnknown* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IUnknown *This);
+        IUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IUnknown *This);
+        IUnknown* This);
 
     END_INTERFACE
 } IUnknownVtbl;
-
 interface IUnknown {
     CONST_VTBL IUnknownVtbl* lpVtbl;
 };
@@ -162,6 +150,29 @@
 
 #endif
 
+HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
+    IUnknown* This,
+    REFIID riid,
+    void **ppvObject);
+void __RPC_STUB IUnknown_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
+    IUnknown* This);
+void __RPC_STUB IUnknown_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
+    IUnknown* This);
+void __RPC_STUB IUnknown_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
 #endif  /* __IUnknown_INTERFACE_DEFINED__ */
 
@@ -208,40 +219,39 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     /*** AsyncIUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *Begin_QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         REFIID riid);
 
     HRESULT (STDMETHODCALLTYPE *Finish_QueryInterface)(
-        AsyncIUnknown *This,
+        AsyncIUnknown* This,
         void **ppvObject);
 
     HRESULT (STDMETHODCALLTYPE *Begin_AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Finish_AddRef)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     HRESULT (STDMETHODCALLTYPE *Begin_Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     ULONG (STDMETHODCALLTYPE *Finish_Release)(
-        AsyncIUnknown *This);
+        AsyncIUnknown* This);
 
     END_INTERFACE
 } AsyncIUnknownVtbl;
-
 interface AsyncIUnknown {
     CONST_VTBL AsyncIUnknownVtbl* lpVtbl;
 };
@@ -294,6 +304,50 @@
 
 #endif
 
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_QueryInterface_Proxy(
+    AsyncIUnknown* This,
+    REFIID riid);
+void __RPC_STUB AsyncIUnknown_Begin_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Finish_QueryInterface_Proxy(
+    AsyncIUnknown* This,
+    void **ppvObject);
+void __RPC_STUB AsyncIUnknown_Finish_QueryInterface_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_AddRef_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Begin_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE AsyncIUnknown_Finish_AddRef_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Finish_AddRef_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE AsyncIUnknown_Begin_Release_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Begin_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+ULONG STDMETHODCALLTYPE AsyncIUnknown_Finish_Release_Proxy(
+    AsyncIUnknown* This);
+void __RPC_STUB AsyncIUnknown_Finish_Release_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
 #endif  /* __AsyncIUnknown_INTERFACE_DEFINED__ */
 
@@ -331,30 +385,29 @@
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IClassFactory *This,
+        IClassFactory* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IClassFactory *This);
+        IClassFactory* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IClassFactory *This);
+        IClassFactory* This);
 
     /*** IClassFactory methods ***/
     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
-        IClassFactory *This,
+        IClassFactory* This,
         IUnknown *pUnkOuter,
         REFIID riid,
         void **ppvObject);
 
     HRESULT (STDMETHODCALLTYPE *LockServer)(
-        IClassFactory *This,
+        IClassFactory* This,
         WINBOOL fLock);
 
     END_INTERFACE
 } IClassFactoryVtbl;
-
 interface IClassFactory {
     CONST_VTBL IClassFactoryVtbl* lpVtbl;
 };