headers: Import windows.ui.composition.interop.idl from Wine.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
index 77053c9..572aa9b 100644
--- a/mingw-w64-headers/Makefile.am
+++ b/mingw-w64-headers/Makefile.am
@@ -310,6 +310,7 @@
   include/windows.system.userprofile.idl \
   include/windows.ui.idl \
   include/windows.ui.composition.idl \
+  include/windows.ui.composition.interop.idl \
   include/windows.ui.core.idl \
   include/windows.ui.viewmanagement.idl \
   include/windowscontracts.idl \
diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
index e7a99a3..6ee1bfc 100644
--- a/mingw-w64-headers/Makefile.in
+++ b/mingw-w64-headers/Makefile.in
@@ -612,6 +612,7 @@
 @HAVE_WIDL_TRUE@  include/windows.system.userprofile.idl \
 @HAVE_WIDL_TRUE@  include/windows.ui.idl \
 @HAVE_WIDL_TRUE@  include/windows.ui.composition.idl \
+@HAVE_WIDL_TRUE@  include/windows.ui.composition.interop.idl \
 @HAVE_WIDL_TRUE@  include/windows.ui.core.idl \
 @HAVE_WIDL_TRUE@  include/windows.ui.viewmanagement.idl \
 @HAVE_WIDL_TRUE@  include/windowscontracts.idl \
diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h
index 878efa0..ec481bc 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 8.2 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 8.5 from include/dxva2api.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
new file mode 100644
index 0000000..533d282
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
@@ -0,0 +1,237 @@
+/*** Autogenerated by WIDL 8.5 from include/windows.ui.composition.interop.idl - Do not edit ***/
+
+#ifdef _WIN32
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+#include <rpc.h>
+#include <rpcndr.h>
+#endif
+
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
+
+#ifndef __windows_ui_composition_interop_h__
+#define __windows_ui_composition_interop_h__
+
+#ifndef __WIDL_INLINE
+#if defined(__cplusplus) || defined(_MSC_VER)
+#define __WIDL_INLINE inline
+#elif defined(__GNUC__)
+#define __WIDL_INLINE __inline__
+#endif
+#endif
+
+/* Forward declarations */
+
+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositorInterop __x_ABI_CWindows_CUI_CComposition_CICompositorInterop;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop ABI::Windows::UI::Composition::ICompositorInterop
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace Composition {
+                interface ICompositorInterop;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+/* Headers for imported files */
+
+#include <windows.ui.composition.h>
+#include <sdkddkver.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositorInterop __x_ABI_CWindows_CUI_CComposition_CICompositorInterop;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop ABI::Windows::UI::Composition::ICompositorInterop
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace Composition {
+                interface ICompositorInterop;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+/*****************************************************************************
+ * ICompositorInterop interface
+ */
+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositorInterop, 0x25297d5c, 0x3ad4, 0x4c9c, 0xb5,0xcf, 0xe3,0x6a,0x38,0x51,0x23,0x30);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace Composition {
+                MIDL_INTERFACE("25297d5c-3ad4-4c9c-b5cf-e36a38512330")
+                ICompositorInterop : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE CreateCompositionSurfaceForHandle(
+                        HANDLE swapchain,
+                        ABI::Windows::UI::Composition::ICompositionSurface **result) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateCompositionSurfaceForSwapChain(
+                        IUnknown *swapchain,
+                        ABI::Windows::UI::Composition::ICompositionSurface **result) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateGraphicsDevice(
+                        IUnknown *device,
+                        ABI::Windows::UI::Composition::ICompositionGraphicsDevice **result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop, 0x25297d5c, 0x3ad4, 0x4c9c, 0xb5,0xcf, 0xe3,0x6a,0x38,0x51,0x23,0x30)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositorInteropVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        TrustLevel *trustLevel);
+
+    /*** ICompositorInterop methods ***/
+    HRESULT (STDMETHODCALLTYPE *CreateCompositionSurfaceForHandle)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        HANDLE swapchain,
+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface **result);
+
+    HRESULT (STDMETHODCALLTYPE *CreateCompositionSurfaceForSwapChain)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        IUnknown *swapchain,
+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface **result);
+
+    HRESULT (STDMETHODCALLTYPE *CreateGraphicsDevice)(
+        __x_ABI_CWindows_CUI_CComposition_CICompositorInterop *This,
+        IUnknown *device,
+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice **result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CComposition_CICompositorInteropVtbl;
+
+interface __x_ABI_CWindows_CUI_CComposition_CICompositorInterop {
+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositorInteropVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** ICompositorInterop methods ***/
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForHandle(This,swapchain,result) (This)->lpVtbl->CreateCompositionSurfaceForHandle(This,swapchain,result)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForSwapChain(This,swapchain,result) (This)->lpVtbl->CreateCompositionSurfaceForSwapChain(This,swapchain,result)
+#define __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateGraphicsDevice(This,device,result) (This)->lpVtbl->CreateGraphicsDevice(This,device,result)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_Release(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** ICompositorInterop methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForHandle(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,HANDLE swapchain,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface **result) {
+    return This->lpVtbl->CreateCompositionSurfaceForHandle(This,swapchain,result);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForSwapChain(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,IUnknown *swapchain,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface **result) {
+    return This->lpVtbl->CreateCompositionSurfaceForSwapChain(This,swapchain,result);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateGraphicsDevice(__x_ABI_CWindows_CUI_CComposition_CICompositorInterop* This,IUnknown *device,__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice **result) {
+    return This->lpVtbl->CreateGraphicsDevice(This,device,result);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_Composition
+#define IID_ICompositorInterop IID___x_ABI_CWindows_CUI_CComposition_CICompositorInterop
+#define ICompositorInteropVtbl __x_ABI_CWindows_CUI_CComposition_CICompositorInteropVtbl
+#define ICompositorInterop __x_ABI_CWindows_CUI_CComposition_CICompositorInterop
+#define ICompositorInterop_QueryInterface __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_QueryInterface
+#define ICompositorInterop_AddRef __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_AddRef
+#define ICompositorInterop_Release __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_Release
+#define ICompositorInterop_GetIids __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetIids
+#define ICompositorInterop_GetRuntimeClassName __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetRuntimeClassName
+#define ICompositorInterop_GetTrustLevel __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_GetTrustLevel
+#define ICompositorInterop_CreateCompositionSurfaceForHandle __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForHandle
+#define ICompositorInterop_CreateCompositionSurfaceForSwapChain __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateCompositionSurfaceForSwapChain
+#define ICompositorInterop_CreateGraphicsDevice __x_ABI_CWindows_CUI_CComposition_CICompositorInterop_CreateGraphicsDevice
+#endif /* WIDL_using_Windows_UI_Composition */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositorInterop_INTERFACE_DEFINED__ */
+
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __windows_ui_composition_interop_h__ */
diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.idl b/mingw-w64-headers/include/windows.ui.composition.interop.idl
new file mode 100644
index 0000000..cde3e62
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.composition.interop.idl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 Mohamad Al-Jaf
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifdef __WIDL__
+#pragma winrt ns_prefix
+#endif
+
+import "windows.ui.composition.idl";
+import "sdkddkver.h";
+
+namespace Windows.UI.Composition {
+    interface ICompositorInterop;
+
+    [
+        object,
+        uuid(25297d5c-3ad4-4c9c-b5cf-e36a38512330),
+        pointer_default(unique)
+    ]
+    interface ICompositorInterop : IInspectable
+    {
+        HRESULT CreateCompositionSurfaceForHandle([in] HANDLE swapchain, [out, retval] ICompositionSurface **result);
+        HRESULT CreateCompositionSurfaceForSwapChain([in] IUnknown *swapchain, [out, retval] ICompositionSurface **result);
+        HRESULT CreateGraphicsDevice([in] IUnknown *device, [out, retval] ICompositionGraphicsDevice **result);
+    };
+}
diff --git a/mingw-w64-headers/wine-import.sh b/mingw-w64-headers/wine-import.sh
index 3ca1f7b..7cad2ab 100755
--- a/mingw-w64-headers/wine-import.sh
+++ b/mingw-w64-headers/wine-import.sh
@@ -251,6 +251,7 @@
 	windows.system.userprofile \
 	windows.ui \
 	windows.ui.composition \
+	windows.ui.composition.interop \
 	windows.ui.core \
 	windows.ui.viewmanagement \
 	wmdrmsdk \