1commit 07fff0900d668fbd75e0ac0a6382a86d486cee88
2Author: Jacek Caban <jacek@codeweavers.com>
3Date:   Sun Mar 24 21:20:55 2019 +0100
4
5    winrt headers
6
7diff --git a/mingw-w64-headers/include/intsafe.h b/mingw-w64-headers/include/intsafe.h
8index 701d4cef..daaedb83 100644
9--- a/mingw-w64-headers/include/intsafe.h
10+++ b/mingw-w64-headers/include/intsafe.h
11@@ -411,5 +411,8 @@ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul)
12 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul)
13
14 #endif /* __GNUC__ >= 5 */
15+
16+#define SizeTToUInt32   UIntPtrToUInt
17+
18 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
19 #endif /* _INTSAFE_H_INCLUDED_ */
20diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
21index 6c4d3ec8..59797984 100644
22--- a/mingw-w64-headers/include/windows.foundation.h
23+++ b/mingw-w64-headers/include/windows.foundation.h
24@@ -1,11 +1,12 @@
25-/*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.idl - Do not edit ***/
26+/*** Autogenerated by WIDL 4.4 from windows.foundation.idl - Do not edit ***/
27
28+#ifdef _WIN32
29 #ifndef __REQUIRED_RPCNDR_H_VERSION__
30 #define __REQUIRED_RPCNDR_H_VERSION__ 475
31 #endif
32-
33 #include <rpc.h>
34 #include <rpcndr.h>
35+#endif
36
37 #ifndef COM_NO_WINDOWS_H
38 #include <windows.h>
39@@ -17,24 +18,18 @@
40
41 /* Forward declarations */
42
43-#ifndef __IAsyncInfo_FWD_DEFINED__
44-#define __IAsyncInfo_FWD_DEFINED__
45-typedef interface IAsyncInfo IAsyncInfo;
46-#endif
47-
48-#ifndef __IASyncAction_FWD_DEFINED__
49-#define __IASyncAction_FWD_DEFINED__
50-typedef interface IASyncAction IASyncAction;
51-#endif
52-
53-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
54-#define __AsyncActionCompletedHandler_FWD_DEFINED__
55-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
56-#endif
57-
58-#ifndef __IAsyncOperation_FWD_DEFINED__
59-#define __IAsyncOperation_FWD_DEFINED__
60-typedef interface IAsyncOperation IAsyncOperation;
61+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
62+#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
63+typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable;
64+#ifdef __cplusplus
65+namespace ABI {
66+    namespace Windows {
67+        namespace Foundation {
68+            interface IStringable;
69+        }
70+    }
71+}
72+#endif /* __cplusplus */
73 #endif
74
75 /* Headers for imported files */
76@@ -45,667 +40,331 @@ typedef interface IAsyncOperation IAsyncOperation;
77 extern "C" {
78 #endif
79
80-#ifndef __IAsyncInfo_FWD_DEFINED__
81-#define __IAsyncInfo_FWD_DEFINED__
82-typedef interface IAsyncInfo IAsyncInfo;
83-#endif
84-
85-#ifndef __IAsyncAction_FWD_DEFINED__
86-#define __IAsyncAction_FWD_DEFINED__
87-typedef interface IAsyncAction IAsyncAction;
88-#endif
89-
90-#ifndef __IAsyncOperation_FWD_DEFINED__
91-#define __IAsyncOperation_FWD_DEFINED__
92-typedef interface IAsyncOperation IAsyncOperation;
93-#endif
94-
95-#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
96-#define __AsyncActionCompletedHandler_FWD_DEFINED__
97-typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
98-#endif
99-
100-#ifndef __TypedEventHandler_FWD_DEFINED__
101-#define __TypedEventHandler_FWD_DEFINED__
102-typedef interface TypedEventHandler TypedEventHandler;
103-#endif
104-
105-struct DateTime;
106-
107-struct EventRegistrationToken;
108-
109-#ifndef __IVectorView_FWD_DEFINED__
110-#define __IVectorView_FWD_DEFINED__
111-typedef interface IVectorView IVectorView;
112-#endif
113-
114-#ifndef __IPropertySet_FWD_DEFINED__
115-#define __IPropertySet_FWD_DEFINED__
116-typedef interface IPropertySet IPropertySet;
117-#endif
118-
119-typedef enum AsyncStatus {
120-    Started = 0,
121-    Completed = 1,
122-    Canceled = 2,
123-    Error = 3
124-} AsyncStatus;
125-typedef struct DateTime {
126-    UINT64 UniversalTime;
127-} DateTime;
128-typedef struct EventRegistrationToken {
129-    UINT64 Value;
130-} EventRegistrationToken;
131-/*****************************************************************************
132- * IAsyncInfo interface
133- */
134-#ifndef __IAsyncInfo_INTERFACE_DEFINED__
135-#define __IAsyncInfo_INTERFACE_DEFINED__
136-
137-DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
138-#if defined(__cplusplus) && !defined(CINTERFACE)
139-MIDL_INTERFACE("00000036-0000-0000-c000-000000000046")
140-IAsyncInfo : public IInspectable
141-{
142-    virtual HRESULT STDMETHODCALLTYPE get_Id(
143-        unsigned int *id) = 0;
144-
145-    virtual HRESULT STDMETHODCALLTYPE get_Status(
146-        AsyncStatus *status) = 0;
147-
148-    virtual HRESULT STDMETHODCALLTYPE get_ErrorCode(
149-        HRESULT *errorCode) = 0;
150-
151-    virtual HRESULT STDMETHODCALLTYPE Cancel(
152-        ) = 0;
153-
154-    virtual HRESULT STDMETHODCALLTYPE Close(
155-        ) = 0;
156-
157-};
158-#ifdef __CRT_UUID_DECL
159-__CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
160-#endif
161+#ifdef __cplusplus
162+} /* extern "C" */
163+namespace ABI {
164+    namespace Windows {
165+        namespace Foundation {
166+            enum PropertyType {
167+                PropertyType_Empty = 0,
168+                PropertyType_UInt8 = 1,
169+                PropertyType_Int16 = 2,
170+                PropertyType_UInt16 = 3,
171+                PropertyType_Int32 = 4,
172+                PropertyType_UInt32 = 5,
173+                PropertyType_Int64 = 6,
174+                PropertyType_UInt64 = 7,
175+                PropertyType_Single = 8,
176+                PropertyType_Double = 9,
177+                PropertyType_Char16 = 10,
178+                PropertyType_Boolean = 11,
179+                PropertyType_String = 12,
180+                PropertyType_Inspectable = 13,
181+                PropertyType_DateTime = 14,
182+                PropertyType_TimeSpan = 15,
183+                PropertyType_Guid = 16,
184+                PropertyType_Point = 17,
185+                PropertyType_Size = 18,
186+                PropertyType_Rect = 19,
187+                PropertyType_OtherType = 20,
188+                PropertyType_UInt8Array = 1025,
189+                PropertyType_Int16Array = 1026,
190+                PropertyType_UInt16Array = 1027,
191+                PropertyType_Int32Array = 1028,
192+                PropertyType_UInt32Array = 1029,
193+                PropertyType_Int64Array = 1030,
194+                PropertyType_UInt64Array = 1031,
195+                PropertyType_SingleArray = 1032,
196+                PropertyType_DoubleArray = 1033,
197+                PropertyType_Char16Array = 1034,
198+                PropertyType_BooleanArray = 1035,
199+                PropertyType_StringArray = 1036,
200+                PropertyType_InspectableArray = 1037,
201+                PropertyType_DateTimeArray = 1038,
202+                PropertyType_TimeSpanArray = 1039,
203+                PropertyType_GuidArray = 1040,
204+                PropertyType_PointArray = 1041,
205+                PropertyType_SizeArray = 1042,
206+                PropertyType_RectArray = 1043,
207+                PropertyType_OtherTypeArray = 1044
208+            };
209+        }
210+    }
211+}
212+extern "C" {
213 #else
214-typedef struct IAsyncInfoVtbl {
215-    BEGIN_INTERFACE
216-
217-    /*** IUnknown methods ***/
218-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
219-        IAsyncInfo* This,
220-        REFIID riid,
221-        void **ppvObject);
222-
223-    ULONG (STDMETHODCALLTYPE *AddRef)(
224-        IAsyncInfo* This);
225-
226-    ULONG (STDMETHODCALLTYPE *Release)(
227-        IAsyncInfo* This);
228-
229-    /*** IInspectable methods ***/
230-    HRESULT (STDMETHODCALLTYPE *GetIids)(
231-        IAsyncInfo* This,
232-        ULONG *iidCount,
233-        IID **iids);
234-
235-    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
236-        IAsyncInfo* This,
237-        HSTRING *className);
238-
239-    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
240-        IAsyncInfo* This,
241-        TrustLevel *trustLevel);
242-
243-    /*** IAsyncInfo methods ***/
244-    HRESULT (STDMETHODCALLTYPE *get_Id)(
245-        IAsyncInfo* This,
246-        unsigned int *id);
247-
248-    HRESULT (STDMETHODCALLTYPE *get_Status)(
249-        IAsyncInfo* This,
250-        AsyncStatus *status);
251-
252-    HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
253-        IAsyncInfo* This,
254-        HRESULT *errorCode);
255-
256-    HRESULT (STDMETHODCALLTYPE *Cancel)(
257-        IAsyncInfo* This);
258-
259-    HRESULT (STDMETHODCALLTYPE *Close)(
260-        IAsyncInfo* This);
261-
262-    END_INTERFACE
263-} IAsyncInfoVtbl;
264-interface IAsyncInfo {
265-    CONST_VTBL IAsyncInfoVtbl* lpVtbl;
266+enum __x_ABI_CWindows_CFoundation_CPropertyType {
267+    PropertyType_Empty = 0,
268+    PropertyType_UInt8 = 1,
269+    PropertyType_Int16 = 2,
270+    PropertyType_UInt16 = 3,
271+    PropertyType_Int32 = 4,
272+    PropertyType_UInt32 = 5,
273+    PropertyType_Int64 = 6,
274+    PropertyType_UInt64 = 7,
275+    PropertyType_Single = 8,
276+    PropertyType_Double = 9,
277+    PropertyType_Char16 = 10,
278+    PropertyType_Boolean = 11,
279+    PropertyType_String = 12,
280+    PropertyType_Inspectable = 13,
281+    PropertyType_DateTime = 14,
282+    PropertyType_TimeSpan = 15,
283+    PropertyType_Guid = 16,
284+    PropertyType_Point = 17,
285+    PropertyType_Size = 18,
286+    PropertyType_Rect = 19,
287+    PropertyType_OtherType = 20,
288+    PropertyType_UInt8Array = 1025,
289+    PropertyType_Int16Array = 1026,
290+    PropertyType_UInt16Array = 1027,
291+    PropertyType_Int32Array = 1028,
292+    PropertyType_UInt32Array = 1029,
293+    PropertyType_Int64Array = 1030,
294+    PropertyType_UInt64Array = 1031,
295+    PropertyType_SingleArray = 1032,
296+    PropertyType_DoubleArray = 1033,
297+    PropertyType_Char16Array = 1034,
298+    PropertyType_BooleanArray = 1035,
299+    PropertyType_StringArray = 1036,
300+    PropertyType_InspectableArray = 1037,
301+    PropertyType_DateTimeArray = 1038,
302+    PropertyType_TimeSpanArray = 1039,
303+    PropertyType_GuidArray = 1040,
304+    PropertyType_PointArray = 1041,
305+    PropertyType_SizeArray = 1042,
306+    PropertyType_RectArray = 1043,
307+    PropertyType_OtherTypeArray = 1044
308 };
309-
310-#ifdef COBJMACROS
311-#ifndef WIDL_C_INLINE_WRAPPERS
312-/*** IUnknown methods ***/
313-#define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
314-#define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
315-#define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This)
316-/*** IInspectable methods ***/
317-#define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
318-#define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
319-#define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
320-/*** IAsyncInfo methods ***/
321-#define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
322-#define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
323-#define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
324-#define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This)
325-#define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This)
326-#else
327-/*** IUnknown methods ***/
328-static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) {
329-    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
330-}
331-static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) {
332-    return This->lpVtbl->AddRef(This);
333-}
334-static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) {
335-    return This->lpVtbl->Release(This);
336-}
337-/*** IInspectable methods ***/
338-static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) {
339-    return This->lpVtbl->GetIids(This,iidCount,iids);
340-}
341-static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) {
342-    return This->lpVtbl->GetRuntimeClassName(This,className);
343-}
344-static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) {
345-    return This->lpVtbl->GetTrustLevel(This,trustLevel);
346-}
347-/*** IAsyncInfo methods ***/
348-static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) {
349-    return This->lpVtbl->get_Id(This,id);
350-}
351-static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) {
352-    return This->lpVtbl->get_Status(This,status);
353-}
354-static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) {
355-    return This->lpVtbl->get_ErrorCode(This,errorCode);
356-}
357-static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) {
358-    return This->lpVtbl->Cancel(This);
359-}
360-static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) {
361-    return This->lpVtbl->Close(This);
362-}
363 #endif
364-#endif
365-
366-#endif
367-
368-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy(
369-    IAsyncInfo* This,
370-    unsigned int *id);
371-void __RPC_STUB IAsyncInfo_get_Id_Stub(
372-    IRpcStubBuffer* This,
373-    IRpcChannelBuffer* pRpcChannelBuffer,
374-    PRPC_MESSAGE pRpcMessage,
375-    DWORD* pdwStubPhase);
376-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy(
377-    IAsyncInfo* This,
378-    AsyncStatus *status);
379-void __RPC_STUB IAsyncInfo_get_Status_Stub(
380-    IRpcStubBuffer* This,
381-    IRpcChannelBuffer* pRpcChannelBuffer,
382-    PRPC_MESSAGE pRpcMessage,
383-    DWORD* pdwStubPhase);
384-HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy(
385-    IAsyncInfo* This,
386-    HRESULT *errorCode);
387-void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub(
388-    IRpcStubBuffer* This,
389-    IRpcChannelBuffer* pRpcChannelBuffer,
390-    PRPC_MESSAGE pRpcMessage,
391-    DWORD* pdwStubPhase);
392-HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy(
393-    IAsyncInfo* This);
394-void __RPC_STUB IAsyncInfo_Cancel_Stub(
395-    IRpcStubBuffer* This,
396-    IRpcChannelBuffer* pRpcChannelBuffer,
397-    PRPC_MESSAGE pRpcMessage,
398-    DWORD* pdwStubPhase);
399-HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy(
400-    IAsyncInfo* This);
401-void __RPC_STUB IAsyncInfo_Close_Stub(
402-    IRpcStubBuffer* This,
403-    IRpcChannelBuffer* pRpcChannelBuffer,
404-    PRPC_MESSAGE pRpcMessage,
405-    DWORD* pdwStubPhase);
406-
407-#endif  /* __IAsyncInfo_INTERFACE_DEFINED__ */
408-
409-/*****************************************************************************
410- * IASyncAction interface
411- */
412-#ifndef __IASyncAction_INTERFACE_DEFINED__
413-#define __IASyncAction_INTERFACE_DEFINED__
414-
415-DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
416-#if defined(__cplusplus) && !defined(CINTERFACE)
417-MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
418-IASyncAction : public IInspectable
419-{
420-    virtual HRESULT STDMETHODCALLTYPE put_Completed(
421-        AsyncActionCompletedHandler *handler) = 0;
422-
423-    virtual HRESULT STDMETHODCALLTYPE get_Completed(
424-        AsyncActionCompletedHandler **handler) = 0;
425-
426-    virtual HRESULT STDMETHODCALLTYPE GetResults(
427-        ) = 0;
428
429-};
430-#ifdef __CRT_UUID_DECL
431-__CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
432-#endif
433+#ifdef __cplusplus
434+} /* extern "C" */
435+namespace ABI {
436+    namespace Windows {
437+        namespace Foundation {
438+            struct Point {
439+                FLOAT X;
440+                FLOAT Y;
441+            };
442+        }
443+    }
444+}
445+extern "C" {
446 #else
447-typedef struct IASyncActionVtbl {
448-    BEGIN_INTERFACE
449-
450-    /*** IUnknown methods ***/
451-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
452-        IASyncAction* This,
453-        REFIID riid,
454-        void **ppvObject);
455-
456-    ULONG (STDMETHODCALLTYPE *AddRef)(
457-        IASyncAction* This);
458-
459-    ULONG (STDMETHODCALLTYPE *Release)(
460-        IASyncAction* This);
461-
462-    /*** IInspectable methods ***/
463-    HRESULT (STDMETHODCALLTYPE *GetIids)(
464-        IASyncAction* This,
465-        ULONG *iidCount,
466-        IID **iids);
467-
468-    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
469-        IASyncAction* This,
470-        HSTRING *className);
471-
472-    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
473-        IASyncAction* This,
474-        TrustLevel *trustLevel);
475-
476-    /*** IASyncAction methods ***/
477-    HRESULT (STDMETHODCALLTYPE *put_Completed)(
478-        IASyncAction* This,
479-        AsyncActionCompletedHandler *handler);
480-
481-    HRESULT (STDMETHODCALLTYPE *get_Completed)(
482-        IASyncAction* This,
483-        AsyncActionCompletedHandler **handler);
484-
485-    HRESULT (STDMETHODCALLTYPE *GetResults)(
486-        IASyncAction* This);
487-
488-    END_INTERFACE
489-} IASyncActionVtbl;
490-interface IASyncAction {
491-    CONST_VTBL IASyncActionVtbl* lpVtbl;
492+struct __x_ABI_CWindows_CFoundation_CPoint {
493+    FLOAT X;
494+    FLOAT Y;
495 };
496-
497-#ifdef COBJMACROS
498-#ifndef WIDL_C_INLINE_WRAPPERS
499-/*** IUnknown methods ***/
500-#define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
501-#define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
502-#define IASyncAction_Release(This) (This)->lpVtbl->Release(This)
503-/*** IInspectable methods ***/
504-#define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
505-#define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
506-#define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
507-/*** IASyncAction methods ***/
508-#define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
509-#define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
510-#define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
511-#else
512-/*** IUnknown methods ***/
513-static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) {
514-    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
515-}
516-static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) {
517-    return This->lpVtbl->AddRef(This);
518-}
519-static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) {
520-    return This->lpVtbl->Release(This);
521-}
522-/*** IInspectable methods ***/
523-static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) {
524-    return This->lpVtbl->GetIids(This,iidCount,iids);
525-}
526-static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) {
527-    return This->lpVtbl->GetRuntimeClassName(This,className);
528-}
529-static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) {
530-    return This->lpVtbl->GetTrustLevel(This,trustLevel);
531-}
532-/*** IASyncAction methods ***/
533-static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) {
534-    return This->lpVtbl->put_Completed(This,handler);
535-}
536-static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) {
537-    return This->lpVtbl->get_Completed(This,handler);
538-}
539-static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) {
540-    return This->lpVtbl->GetResults(This);
541-}
542-#endif
543 #endif
544
545-#endif
546-
547-HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy(
548-    IASyncAction* This,
549-    AsyncActionCompletedHandler *handler);
550-void __RPC_STUB IASyncAction_put_Completed_Stub(
551-    IRpcStubBuffer* This,
552-    IRpcChannelBuffer* pRpcChannelBuffer,
553-    PRPC_MESSAGE pRpcMessage,
554-    DWORD* pdwStubPhase);
555-HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy(
556-    IASyncAction* This,
557-    AsyncActionCompletedHandler **handler);
558-void __RPC_STUB IASyncAction_get_Completed_Stub(
559-    IRpcStubBuffer* This,
560-    IRpcChannelBuffer* pRpcChannelBuffer,
561-    PRPC_MESSAGE pRpcMessage,
562-    DWORD* pdwStubPhase);
563-HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy(
564-    IASyncAction* This);
565-void __RPC_STUB IASyncAction_GetResults_Stub(
566-    IRpcStubBuffer* This,
567-    IRpcChannelBuffer* pRpcChannelBuffer,
568-    PRPC_MESSAGE pRpcMessage,
569-    DWORD* pdwStubPhase);
570-
571-#endif  /* __IASyncAction_INTERFACE_DEFINED__ */
572-
573-/*****************************************************************************
574- * AsyncActionCompletedHandler interface
575- */
576-#ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__
577-#define __AsyncActionCompletedHandler_INTERFACE_DEFINED__
578-
579-DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
580-#if defined(__cplusplus) && !defined(CINTERFACE)
581-MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
582-AsyncActionCompletedHandler : public IUnknown
583-{
584-    virtual HRESULT STDMETHODCALLTYPE Invoke(
585-        IInspectable *asyncAction,
586-        AsyncStatus status) = 0;
587-
588+#ifdef __cplusplus
589+} /* extern "C" */
590+namespace ABI {
591+    namespace Windows {
592+        namespace Foundation {
593+            struct Size {
594+                FLOAT Width;
595+                FLOAT Height;
596+            };
597+        }
598+    }
599+}
600+extern "C" {
601+#else
602+struct __x_ABI_CWindows_CFoundation_CSize {
603+    FLOAT Width;
604+    FLOAT Height;
605 };
606-#ifdef __CRT_UUID_DECL
607-__CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
608 #endif
609-#else
610-typedef struct AsyncActionCompletedHandlerVtbl {
611-    BEGIN_INTERFACE
612-
613-    /*** IUnknown methods ***/
614-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
615-        AsyncActionCompletedHandler* This,
616-        REFIID riid,
617-        void **ppvObject);
618-
619-    ULONG (STDMETHODCALLTYPE *AddRef)(
620-        AsyncActionCompletedHandler* This);
621-
622-    ULONG (STDMETHODCALLTYPE *Release)(
623-        AsyncActionCompletedHandler* This);
624-
625-    /*** AsyncActionCompletedHandler methods ***/
626-    HRESULT (STDMETHODCALLTYPE *Invoke)(
627-        AsyncActionCompletedHandler* This,
628-        IInspectable *asyncAction,
629-        AsyncStatus status);
630
631-    END_INTERFACE
632-} AsyncActionCompletedHandlerVtbl;
633-interface AsyncActionCompletedHandler {
634-    CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl;
635+#ifdef __cplusplus
636+namespace ABI {
637+    namespace Windows {
638+        namespace Foundation {
639+typedef struct Size Size;
640+        }
641+    }
642+}
643+#endif /* __cplusplus */
644+#ifdef __cplusplus
645+} /* extern "C" */
646+namespace ABI {
647+    namespace Windows {
648+        namespace Foundation {
649+            struct Rect {
650+                FLOAT X;
651+                FLOAT Y;
652+                FLOAT Width;
653+                FLOAT Height;
654+            };
655+        }
656+    }
657+}
658+extern "C" {
659+#else
660+struct __x_ABI_CWindows_CFoundation_CRect {
661+    FLOAT X;
662+    FLOAT Y;
663+    FLOAT Width;
664+    FLOAT Height;
665 };
666+#endif
667
668-#ifdef COBJMACROS
669-#ifndef WIDL_C_INLINE_WRAPPERS
670-/*** IUnknown methods ***/
671-#define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
672-#define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
673-#define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
674-/*** AsyncActionCompletedHandler methods ***/
675-#define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status)
676-#else
677-/*** IUnknown methods ***/
678-static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
679-    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
680-}
681-static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) {
682-    return This->lpVtbl->AddRef(This);
683-}
684-static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) {
685-    return This->lpVtbl->Release(This);
686-}
687-/*** AsyncActionCompletedHandler methods ***/
688-static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) {
689-    return This->lpVtbl->Invoke(This,asyncAction,status);
690+#ifdef __cplusplus
691+} /* extern "C" */
692+namespace ABI {
693+    namespace Windows {
694+        namespace Foundation {
695+            struct DateTime {
696+                INT64 UniversalTime;
697+            };
698+        }
699+    }
700 }
701-#endif
702+extern "C" {
703+#else
704+struct __x_ABI_CWindows_CFoundation_CDateTime {
705+    INT64 UniversalTime;
706+};
707 #endif
708
709+#ifdef __cplusplus
710+} /* extern "C" */
711+namespace ABI {
712+    namespace Windows {
713+        namespace Foundation {
714+            struct TimeSpan {
715+                INT64 Duration;
716+            };
717+        }
718+    }
719+}
720+extern "C" {
721+#else
722+struct __x_ABI_CWindows_CFoundation_CTimeSpan {
723+    INT64 Duration;
724+};
725 #endif
726
727-HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy(
728-    AsyncActionCompletedHandler* This,
729-    IInspectable *asyncAction,
730-    AsyncStatus status);
731-void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub(
732-    IRpcStubBuffer* This,
733-    IRpcChannelBuffer* pRpcChannelBuffer,
734-    PRPC_MESSAGE pRpcMessage,
735-    DWORD* pdwStubPhase);
736-
737-#endif  /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */
738-
739 /*****************************************************************************
740- * IAsyncOperation interface
741+ * IStringable interface
742  */
743-#ifndef __IAsyncOperation_INTERFACE_DEFINED__
744-#define __IAsyncOperation_INTERFACE_DEFINED__
745+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
746+#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
747
748-DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2);
749+DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3);
750 #if defined(__cplusplus) && !defined(CINTERFACE)
751-MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2")
752-IAsyncOperation : public IAsyncInfo
753-{
754-    virtual HRESULT STDMETHODCALLTYPE put_Completed(
755-        AsyncActionCompletedHandler *handler) = 0;
756-
757-    virtual HRESULT STDMETHODCALLTYPE get_Completed(
758-        AsyncActionCompletedHandler **handler) = 0;
759-
760-    virtual IInspectable * STDMETHODCALLTYPE GetResults(
761-        ) = 0;
762-
763-};
764+} /* extern "C" */
765+namespace ABI {
766+    namespace Windows {
767+        namespace Foundation {
768+            MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3")
769+            IStringable : public IInspectable
770+            {
771+                virtual HRESULT STDMETHODCALLTYPE ToString(
772+                    HSTRING *value) = 0;
773+
774+            };
775+        }
776+    }
777+}
778+extern "C" {
779 #ifdef __CRT_UUID_DECL
780-__CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
781+__CRT_UUID_DECL(ABI::Windows::Foundation::IStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3)
782 #endif
783 #else
784-typedef struct IAsyncOperationVtbl {
785+typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl {
786     BEGIN_INTERFACE
787
788     /*** IUnknown methods ***/
789     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
790-        IAsyncOperation* This,
791+        __x_ABI_CWindows_CFoundation_CIStringable *This,
792         REFIID riid,
793         void **ppvObject);
794
795     ULONG (STDMETHODCALLTYPE *AddRef)(
796-        IAsyncOperation* This);
797+        __x_ABI_CWindows_CFoundation_CIStringable *This);
798
799     ULONG (STDMETHODCALLTYPE *Release)(
800-        IAsyncOperation* This);
801+        __x_ABI_CWindows_CFoundation_CIStringable *This);
802
803     /*** IInspectable methods ***/
804     HRESULT (STDMETHODCALLTYPE *GetIids)(
805-        IAsyncOperation* This,
806+        __x_ABI_CWindows_CFoundation_CIStringable *This,
807         ULONG *iidCount,
808         IID **iids);
809
810     HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
811-        IAsyncOperation* This,
812+        __x_ABI_CWindows_CFoundation_CIStringable *This,
813         HSTRING *className);
814
815     HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
816-        IAsyncOperation* This,
817+        __x_ABI_CWindows_CFoundation_CIStringable *This,
818         TrustLevel *trustLevel);
819
820-    /*** IAsyncInfo methods ***/
821-    HRESULT (STDMETHODCALLTYPE *get_Id)(
822-        IAsyncOperation* This,
823-        unsigned int *id);
824-
825-    HRESULT (STDMETHODCALLTYPE *get_Status)(
826-        IAsyncOperation* This,
827-        AsyncStatus *status);
828-
829-    HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
830-        IAsyncOperation* This,
831-        HRESULT *errorCode);
832-
833-    HRESULT (STDMETHODCALLTYPE *Cancel)(
834-        IAsyncOperation* This);
835-
836-    HRESULT (STDMETHODCALLTYPE *Close)(
837-        IAsyncOperation* This);
838-
839-    /*** IAsyncOperation methods ***/
840-    HRESULT (STDMETHODCALLTYPE *put_Completed)(
841-        IAsyncOperation* This,
842-        AsyncActionCompletedHandler *handler);
843-
844-    HRESULT (STDMETHODCALLTYPE *get_Completed)(
845-        IAsyncOperation* This,
846-        AsyncActionCompletedHandler **handler);
847-
848-    IInspectable * (STDMETHODCALLTYPE *GetResults)(
849-        IAsyncOperation* This);
850+    /*** IStringable methods ***/
851+    HRESULT (STDMETHODCALLTYPE *ToString)(
852+        __x_ABI_CWindows_CFoundation_CIStringable *This,
853+        HSTRING *value);
854
855     END_INTERFACE
856-} IAsyncOperationVtbl;
857-interface IAsyncOperation {
858-    CONST_VTBL IAsyncOperationVtbl* lpVtbl;
859+} __x_ABI_CWindows_CFoundation_CIStringableVtbl;
860+
861+interface __x_ABI_CWindows_CFoundation_CIStringable {
862+    CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl;
863 };
864
865 #ifdef COBJMACROS
866 #ifndef WIDL_C_INLINE_WRAPPERS
867 /*** IUnknown methods ***/
868-#define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
869-#define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
870-#define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This)
871+#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
872+#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This)
873+#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This)
874 /*** IInspectable methods ***/
875-#define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
876-#define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
877-#define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
878-/*** IAsyncInfo methods ***/
879-#define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
880-#define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
881-#define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
882-#define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This)
883-#define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This)
884-/*** IAsyncOperation methods ***/
885-#define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
886-#define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
887-#define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This)
888+#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
889+#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
890+#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
891+/*** IStringable methods ***/
892+#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value)
893 #else
894 /*** IUnknown methods ***/
895-static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) {
896+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) {
897     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
898 }
899-static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) {
900+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) {
901     return This->lpVtbl->AddRef(This);
902 }
903-static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) {
904+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) {
905     return This->lpVtbl->Release(This);
906 }
907 /*** IInspectable methods ***/
908-static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) {
909+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) {
910     return This->lpVtbl->GetIids(This,iidCount,iids);
911 }
912-static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) {
913+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) {
914     return This->lpVtbl->GetRuntimeClassName(This,className);
915 }
916-static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) {
917+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) {
918     return This->lpVtbl->GetTrustLevel(This,trustLevel);
919 }
920-/*** IAsyncInfo methods ***/
921-static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) {
922-    return This->lpVtbl->get_Id(This,id);
923-}
924-static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) {
925-    return This->lpVtbl->get_Status(This,status);
926-}
927-static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) {
928-    return This->lpVtbl->get_ErrorCode(This,errorCode);
929-}
930-static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) {
931-    return This->lpVtbl->Cancel(This);
932-}
933-static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) {
934-    return This->lpVtbl->Close(This);
935-}
936-/*** IAsyncOperation methods ***/
937-static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) {
938-    return This->lpVtbl->put_Completed(This,handler);
939-}
940-static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) {
941-    return This->lpVtbl->get_Completed(This,handler);
942-}
943-static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) {
944-    return This->lpVtbl->GetResults(This);
945+/*** IStringable methods ***/
946+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) {
947+    return This->lpVtbl->ToString(This,value);
948 }
949 #endif
950 #endif
951
952 #endif
953
954-HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy(
955-    IAsyncOperation* This,
956-    AsyncActionCompletedHandler *handler);
957-void __RPC_STUB IAsyncOperation_put_Completed_Stub(
958-    IRpcStubBuffer* This,
959-    IRpcChannelBuffer* pRpcChannelBuffer,
960-    PRPC_MESSAGE pRpcMessage,
961-    DWORD* pdwStubPhase);
962-HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy(
963-    IAsyncOperation* This,
964-    AsyncActionCompletedHandler **handler);
965-void __RPC_STUB IAsyncOperation_get_Completed_Stub(
966-    IRpcStubBuffer* This,
967-    IRpcChannelBuffer* pRpcChannelBuffer,
968-    PRPC_MESSAGE pRpcMessage,
969-    DWORD* pdwStubPhase);
970-IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy(
971-    IAsyncOperation* This);
972-void __RPC_STUB IAsyncOperation_GetResults_Stub(
973-    IRpcStubBuffer* This,
974-    IRpcChannelBuffer* pRpcChannelBuffer,
975-    PRPC_MESSAGE pRpcMessage,
976-    DWORD* pdwStubPhase);
977-
978-#endif  /* __IAsyncOperation_INTERFACE_DEFINED__ */
979+#endif  /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
980
981 /* Begin additional prototypes for all interfaces */
982
983+ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
984+unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
985+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
986+void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
987
988 /* End additional prototypes */
989
990diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h
991new file mode 100644
992index 00000000..13262699
993--- /dev/null
994+++ b/mingw-w64-headers/include/windows.foundation.metadata.h
995@@ -0,0 +1,315 @@
996+/*** Autogenerated by WIDL 4.4 from windows.foundation.metadata.idl - Do not edit ***/
997+
998+#ifdef _WIN32
999+#ifndef __REQUIRED_RPCNDR_H_VERSION__
1000+#define __REQUIRED_RPCNDR_H_VERSION__ 475
1001+#endif
1002+#include <rpc.h>
1003+#include <rpcndr.h>
1004+#endif
1005+
1006+#ifndef COM_NO_WINDOWS_H
1007+#include <windows.h>
1008+#include <ole2.h>
1009+#endif
1010+
1011+#ifndef __windows_foundation_metadata_h__
1012+#define __windows_foundation_metadata_h__
1013+
1014+/* Forward declarations */
1015+
1016+#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__
1017+#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_FWD_DEFINED__
1018+typedef interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics;
1019+#ifdef __cplusplus
1020+namespace ABI {
1021+    namespace Windows {
1022+        namespace Foundation {
1023+            namespace Metadata {
1024+                interface IApiInformationStatics;
1025+            }
1026+        }
1027+    }
1028+}
1029+#endif /* __cplusplus */
1030+#endif
1031+
1032+/* Headers for imported files */
1033+
1034+#include <inspectable.h>
1035+#include <windows.foundation.h>
1036+
1037+#ifdef __cplusplus
1038+extern "C" {
1039+#endif
1040+
1041+/*****************************************************************************
1042+ * IApiInformationStatics interface
1043+ */
1044+#ifndef ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__
1045+#define ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__
1046+
1047+DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36);
1048+#if defined(__cplusplus) && !defined(CINTERFACE)
1049+} /* extern "C" */
1050+namespace ABI {
1051+    namespace Windows {
1052+        namespace Foundation {
1053+            namespace Metadata {
1054+                MIDL_INTERFACE("997439fe-f681-4a11-b416-c13a47e8ba36")
1055+                IApiInformationStatics : public IInspectable
1056+                {
1057+                    virtual HRESULT STDMETHODCALLTYPE IsTypePresent(
1058+                        HSTRING typeName,
1059+                        boolean *value) = 0;
1060+
1061+                    virtual HRESULT STDMETHODCALLTYPE IsMethodPresent(
1062+                        HSTRING typeName,
1063+                        HSTRING methodName,
1064+                        boolean *value) = 0;
1065+
1066+                    virtual HRESULT STDMETHODCALLTYPE IsMethodPresentWithArity(
1067+                        HSTRING typeName,
1068+                        HSTRING methodName,
1069+                        UINT32 inputParameterCount,
1070+                        boolean *value) = 0;
1071+
1072+                    virtual HRESULT STDMETHODCALLTYPE IsEventPresent(
1073+                        HSTRING typeName,
1074+                        HSTRING eventName,
1075+                        boolean *value) = 0;
1076+
1077+                    virtual HRESULT STDMETHODCALLTYPE IsPropertyPresent(
1078+                        HSTRING typeName,
1079+                        HSTRING propertyName,
1080+                        boolean *value) = 0;
1081+
1082+                    virtual HRESULT STDMETHODCALLTYPE IsReadOnlyPropertyPresent(
1083+                        HSTRING typeName,
1084+                        HSTRING propertyName,
1085+                        boolean *value) = 0;
1086+
1087+                    virtual HRESULT STDMETHODCALLTYPE IsWriteablePropertyPresent(
1088+                        HSTRING typeName,
1089+                        HSTRING propertyName,
1090+                        boolean *value) = 0;
1091+
1092+                    virtual HRESULT STDMETHODCALLTYPE IsEnumNamedValuePresent(
1093+                        HSTRING enumTypeName,
1094+                        HSTRING valueName,
1095+                        boolean *value) = 0;
1096+
1097+                    virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajor(
1098+                        HSTRING contractName,
1099+                        UINT16 majorVersion,
1100+                        boolean *value) = 0;
1101+
1102+                    virtual HRESULT STDMETHODCALLTYPE IsApiContractPresentByMajorAndMinor(
1103+                        HSTRING contractName,
1104+                        UINT16 majorVersion,
1105+                        UINT16 minorVersion,
1106+                        boolean *value) = 0;
1107+
1108+                };
1109+            }
1110+        }
1111+    }
1112+}
1113+extern "C" {
1114+#ifdef __CRT_UUID_DECL
1115+__CRT_UUID_DECL(ABI::Windows::Foundation::Metadata::IApiInformationStatics, 0x997439fe, 0xf681, 0x4a11, 0xb4,0x16, 0xc1,0x3a,0x47,0xe8,0xba,0x36)
1116+#endif
1117+#else
1118+typedef struct __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl {
1119+    BEGIN_INTERFACE
1120+
1121+    /*** IUnknown methods ***/
1122+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1123+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1124+        REFIID riid,
1125+        void **ppvObject);
1126+
1127+    ULONG (STDMETHODCALLTYPE *AddRef)(
1128+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This);
1129+
1130+    ULONG (STDMETHODCALLTYPE *Release)(
1131+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This);
1132+
1133+    /*** IInspectable methods ***/
1134+    HRESULT (STDMETHODCALLTYPE *GetIids)(
1135+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1136+        ULONG *iidCount,
1137+        IID **iids);
1138+
1139+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
1140+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1141+        HSTRING *className);
1142+
1143+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
1144+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1145+        TrustLevel *trustLevel);
1146+
1147+    /*** IApiInformationStatics methods ***/
1148+    HRESULT (STDMETHODCALLTYPE *IsTypePresent)(
1149+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1150+        HSTRING typeName,
1151+        boolean *value);
1152+
1153+    HRESULT (STDMETHODCALLTYPE *IsMethodPresent)(
1154+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1155+        HSTRING typeName,
1156+        HSTRING methodName,
1157+        boolean *value);
1158+
1159+    HRESULT (STDMETHODCALLTYPE *IsMethodPresentWithArity)(
1160+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1161+        HSTRING typeName,
1162+        HSTRING methodName,
1163+        UINT32 inputParameterCount,
1164+        boolean *value);
1165+
1166+    HRESULT (STDMETHODCALLTYPE *IsEventPresent)(
1167+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1168+        HSTRING typeName,
1169+        HSTRING eventName,
1170+        boolean *value);
1171+
1172+    HRESULT (STDMETHODCALLTYPE *IsPropertyPresent)(
1173+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1174+        HSTRING typeName,
1175+        HSTRING propertyName,
1176+        boolean *value);
1177+
1178+    HRESULT (STDMETHODCALLTYPE *IsReadOnlyPropertyPresent)(
1179+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1180+        HSTRING typeName,
1181+        HSTRING propertyName,
1182+        boolean *value);
1183+
1184+    HRESULT (STDMETHODCALLTYPE *IsWriteablePropertyPresent)(
1185+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1186+        HSTRING typeName,
1187+        HSTRING propertyName,
1188+        boolean *value);
1189+
1190+    HRESULT (STDMETHODCALLTYPE *IsEnumNamedValuePresent)(
1191+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1192+        HSTRING enumTypeName,
1193+        HSTRING valueName,
1194+        boolean *value);
1195+
1196+    HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajor)(
1197+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1198+        HSTRING contractName,
1199+        UINT16 majorVersion,
1200+        boolean *value);
1201+
1202+    HRESULT (STDMETHODCALLTYPE *IsApiContractPresentByMajorAndMinor)(
1203+        __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics *This,
1204+        HSTRING contractName,
1205+        UINT16 majorVersion,
1206+        UINT16 minorVersion,
1207+        boolean *value);
1208+
1209+    END_INTERFACE
1210+} __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl;
1211+
1212+interface __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics {
1213+    CONST_VTBL __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStaticsVtbl* lpVtbl;
1214+};
1215+
1216+#ifdef COBJMACROS
1217+#ifndef WIDL_C_INLINE_WRAPPERS
1218+/*** IUnknown methods ***/
1219+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1220+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
1221+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(This) (This)->lpVtbl->Release(This)
1222+/*** IInspectable methods ***/
1223+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
1224+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
1225+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
1226+/*** IApiInformationStatics methods ***/
1227+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(This,typeName,value) (This)->lpVtbl->IsTypePresent(This,typeName,value)
1228+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(This,typeName,methodName,value) (This)->lpVtbl->IsMethodPresent(This,typeName,methodName,value)
1229+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value) (This)->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value)
1230+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(This,typeName,eventName,value) (This)->lpVtbl->IsEventPresent(This,typeName,eventName,value)
1231+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value)
1232+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value)
1233+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(This,typeName,propertyName,value) (This)->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value)
1234+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(This,enumTypeName,valueName,value) (This)->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value)
1235+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(This,contractName,majorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value)
1236+#define __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value) (This)->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value)
1237+#else
1238+/*** IUnknown methods ***/
1239+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_QueryInterface(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,REFIID riid,void **ppvObject) {
1240+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1241+}
1242+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_AddRef(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) {
1243+    return This->lpVtbl->AddRef(This);
1244+}
1245+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_Release(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This) {
1246+    return This->lpVtbl->Release(This);
1247+}
1248+/*** IInspectable methods ***/
1249+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetIids(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,ULONG *iidCount,IID **iids) {
1250+    return This->lpVtbl->GetIids(This,iidCount,iids);
1251+}
1252+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING *className) {
1253+    return This->lpVtbl->GetRuntimeClassName(This,className);
1254+}
1255+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_GetTrustLevel(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,TrustLevel *trustLevel) {
1256+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
1257+}
1258+/*** IApiInformationStatics methods ***/
1259+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsTypePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,boolean *value) {
1260+    return This->lpVtbl->IsTypePresent(This,typeName,value);
1261+}
1262+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,boolean *value) {
1263+    return This->lpVtbl->IsMethodPresent(This,typeName,methodName,value);
1264+}
1265+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsMethodPresentWithArity(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING methodName,UINT32 inputParameterCount,boolean *value) {
1266+    return This->lpVtbl->IsMethodPresentWithArity(This,typeName,methodName,inputParameterCount,value);
1267+}
1268+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEventPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING eventName,boolean *value) {
1269+    return This->lpVtbl->IsEventPresent(This,typeName,eventName,value);
1270+}
1271+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
1272+    return This->lpVtbl->IsPropertyPresent(This,typeName,propertyName,value);
1273+}
1274+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsReadOnlyPropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
1275+    return This->lpVtbl->IsReadOnlyPropertyPresent(This,typeName,propertyName,value);
1276+}
1277+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsWriteablePropertyPresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING typeName,HSTRING propertyName,boolean *value) {
1278+    return This->lpVtbl->IsWriteablePropertyPresent(This,typeName,propertyName,value);
1279+}
1280+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsEnumNamedValuePresent(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING enumTypeName,HSTRING valueName,boolean *value) {
1281+    return This->lpVtbl->IsEnumNamedValuePresent(This,enumTypeName,valueName,value);
1282+}
1283+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,boolean *value) {
1284+    return This->lpVtbl->IsApiContractPresentByMajor(This,contractName,majorVersion,value);
1285+}
1286+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_IsApiContractPresentByMajorAndMinor(__x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics* This,HSTRING contractName,UINT16 majorVersion,UINT16 minorVersion,boolean *value) {
1287+    return This->lpVtbl->IsApiContractPresentByMajorAndMinor(This,contractName,majorVersion,minorVersion,value);
1288+}
1289+#endif
1290+#endif
1291+
1292+#endif
1293+
1294+#endif  /* ____x_ABI_CWindows_CFoundation_CMetadata_CIApiInformationStatics_INTERFACE_DEFINED__ */
1295+
1296+extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Foundation_Metadata_ApiInformation[] = L"Windows.Foundation.Metadata.ApiInformation";
1297+/* Begin additional prototypes for all interfaces */
1298+
1299+ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
1300+unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
1301+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
1302+void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
1303+
1304+/* End additional prototypes */
1305+
1306+#ifdef __cplusplus
1307+}
1308+#endif
1309+
1310+#endif /* __windows_foundation_metadata_h__ */
1311diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
1312new file mode 100644
1313index 00000000..e20017ce
1314--- /dev/null
1315+++ b/mingw-w64-headers/include/windows.foundation.numerics.h
1316@@ -0,0 +1,204 @@
1317+/*** Autogenerated by WIDL 4.4 from windows.foundation.numerics.idl - Do not edit ***/
1318+
1319+#ifdef _WIN32
1320+#ifndef __REQUIRED_RPCNDR_H_VERSION__
1321+#define __REQUIRED_RPCNDR_H_VERSION__ 475
1322+#endif
1323+#include <rpc.h>
1324+#include <rpcndr.h>
1325+#endif
1326+
1327+#ifndef COM_NO_WINDOWS_H
1328+#include <windows.h>
1329+#include <ole2.h>
1330+#endif
1331+
1332+#ifndef __windows_foundation_numerics_h__
1333+#define __windows_foundation_numerics_h__
1334+
1335+/* Forward declarations */
1336+
1337+/* Headers for imported files */
1338+
1339+#include <inspectable.h>
1340+
1341+#ifdef __cplusplus
1342+extern "C" {
1343+#endif
1344+
1345+#ifdef __cplusplus
1346+namespace ABI {
1347+    namespace Windows {
1348+        namespace Foundation {
1349+            namespace Numerics {
1350+typedef struct Vector2 Vector2;
1351+            }
1352+        }
1353+    }
1354+}
1355+#endif /* __cplusplus */
1356+#ifdef __cplusplus
1357+namespace ABI {
1358+    namespace Windows {
1359+        namespace Foundation {
1360+            namespace Numerics {
1361+typedef struct Vector3 Vector3;
1362+            }
1363+        }
1364+    }
1365+}
1366+#endif /* __cplusplus */
1367+#ifdef __cplusplus
1368+namespace ABI {
1369+    namespace Windows {
1370+        namespace Foundation {
1371+            namespace Numerics {
1372+typedef struct Matrix4x4 Matrix4x4;
1373+            }
1374+        }
1375+    }
1376+}
1377+#endif /* __cplusplus */
1378+#ifdef __cplusplus
1379+namespace ABI {
1380+    namespace Windows {
1381+        namespace Foundation {
1382+            namespace Numerics {
1383+typedef struct Quaternion Quaternion;
1384+            }
1385+        }
1386+    }
1387+}
1388+#endif /* __cplusplus */
1389+#ifdef __cplusplus
1390+} /* extern "C" */
1391+namespace ABI {
1392+    namespace Windows {
1393+        namespace Foundation {
1394+            namespace Numerics {
1395+                struct Vector2 {
1396+                    FLOAT X;
1397+                    FLOAT Y;
1398+                };
1399+            }
1400+        }
1401+    }
1402+}
1403+extern "C" {
1404+#else
1405+struct __x_ABI_CWindows_CFoundation_CNumerics_CVector2 {
1406+    FLOAT X;
1407+    FLOAT Y;
1408+};
1409+#endif
1410+
1411+#ifdef __cplusplus
1412+} /* extern "C" */
1413+namespace ABI {
1414+    namespace Windows {
1415+        namespace Foundation {
1416+            namespace Numerics {
1417+                struct Vector3 {
1418+                    FLOAT X;
1419+                    FLOAT Y;
1420+                    FLOAT Z;
1421+                };
1422+            }
1423+        }
1424+    }
1425+}
1426+extern "C" {
1427+#else
1428+struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 {
1429+    FLOAT X;
1430+    FLOAT Y;
1431+    FLOAT Z;
1432+};
1433+#endif
1434+
1435+#ifdef __cplusplus
1436+} /* extern "C" */
1437+namespace ABI {
1438+    namespace Windows {
1439+        namespace Foundation {
1440+            namespace Numerics {
1441+                struct Matrix4x4 {
1442+                    FLOAT M11;
1443+                    FLOAT M12;
1444+                    FLOAT M13;
1445+                    FLOAT M14;
1446+                    FLOAT M21;
1447+                    FLOAT M22;
1448+                    FLOAT M23;
1449+                    FLOAT M24;
1450+                    FLOAT M31;
1451+                    FLOAT M32;
1452+                    FLOAT M33;
1453+                    FLOAT M34;
1454+                    FLOAT M41;
1455+                    FLOAT M42;
1456+                    FLOAT M43;
1457+                    FLOAT M44;
1458+                };
1459+            }
1460+        }
1461+    }
1462+}
1463+extern "C" {
1464+#else
1465+struct __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 {
1466+    FLOAT M11;
1467+    FLOAT M12;
1468+    FLOAT M13;
1469+    FLOAT M14;
1470+    FLOAT M21;
1471+    FLOAT M22;
1472+    FLOAT M23;
1473+    FLOAT M24;
1474+    FLOAT M31;
1475+    FLOAT M32;
1476+    FLOAT M33;
1477+    FLOAT M34;
1478+    FLOAT M41;
1479+    FLOAT M42;
1480+    FLOAT M43;
1481+    FLOAT M44;
1482+};
1483+#endif
1484+
1485+#ifdef __cplusplus
1486+} /* extern "C" */
1487+namespace ABI {
1488+    namespace Windows {
1489+        namespace Foundation {
1490+            namespace Numerics {
1491+                struct Quaternion {
1492+                    FLOAT X;
1493+                    FLOAT Y;
1494+                    FLOAT Z;
1495+                    FLOAT W;
1496+                };
1497+            }
1498+        }
1499+    }
1500+}
1501+extern "C" {
1502+#else
1503+struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion {
1504+    FLOAT X;
1505+    FLOAT Y;
1506+    FLOAT Z;
1507+    FLOAT W;
1508+};
1509+#endif
1510+
1511+/* Begin additional prototypes for all interfaces */
1512+
1513+
1514+/* End additional prototypes */
1515+
1516+#ifdef __cplusplus
1517+}
1518+#endif
1519+
1520+#endif /* __windows_foundation_numerics_h__ */
1521diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h
1522new file mode 100644
1523index 00000000..4bc4cb44
1524--- /dev/null
1525+++ b/mingw-w64-headers/include/windows.graphics.directx.h
1526@@ -0,0 +1,343 @@
1527+/*** Autogenerated by WIDL 4.4 from windows.graphics.directx.idl - Do not edit ***/
1528+
1529+#ifdef _WIN32
1530+#ifndef __REQUIRED_RPCNDR_H_VERSION__
1531+#define __REQUIRED_RPCNDR_H_VERSION__ 475
1532+#endif
1533+#include <rpc.h>
1534+#include <rpcndr.h>
1535+#endif
1536+
1537+#ifndef COM_NO_WINDOWS_H
1538+#include <windows.h>
1539+#include <ole2.h>
1540+#endif
1541+
1542+#ifndef __windows_graphics_directx_h__
1543+#define __windows_graphics_directx_h__
1544+
1545+/* Forward declarations */
1546+
1547+/* Headers for imported files */
1548+
1549+#include <inspectable.h>
1550+#include <windows.foundation.h>
1551+
1552+#ifdef __cplusplus
1553+extern "C" {
1554+#endif
1555+
1556+#ifdef __cplusplus
1557+} /* extern "C" */
1558+namespace ABI {
1559+    namespace Windows {
1560+        namespace Graphics {
1561+            namespace DirectX {
1562+                enum DirectXAlphaMode {
1563+                    DirectXAlphaMode_Unspecified = 0,
1564+                    DirectXAlphaMode_Premultiplied = 1,
1565+                    DirectXAlphaMode_Straight = 2,
1566+                    DirectXAlphaMode_Ignore = 3
1567+                };
1568+            }
1569+        }
1570+    }
1571+}
1572+extern "C" {
1573+#else
1574+enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode {
1575+    DirectXAlphaMode_Unspecified = 0,
1576+    DirectXAlphaMode_Premultiplied = 1,
1577+    DirectXAlphaMode_Straight = 2,
1578+    DirectXAlphaMode_Ignore = 3
1579+};
1580+#endif
1581+
1582+#ifdef __cplusplus
1583+namespace ABI {
1584+    namespace Windows {
1585+        namespace Graphics {
1586+            namespace DirectX {
1587+typedef enum DirectXAlphaMode DirectXAlphaMode;
1588+            }
1589+        }
1590+    }
1591+}
1592+#endif /* __cplusplus */
1593+#ifdef __cplusplus
1594+} /* extern "C" */
1595+namespace ABI {
1596+    namespace Windows {
1597+        namespace Graphics {
1598+            namespace DirectX {
1599+                enum DirectXPixelFormat {
1600+                    DirectXPixelFormat_Unknown = 0,
1601+                    DirectXPixelFormat_R32G32B32A32Typeless = 1,
1602+                    DirectXPixelFormat_R32G32B32A32Float = 2,
1603+                    DirectXPixelFormat_R32G32B32A32UInt = 3,
1604+                    DirectXPixelFormat_R32G32B32A32Int = 4,
1605+                    DirectXPixelFormat_R32G32B32Typeless = 5,
1606+                    DirectXPixelFormat_R32G32B32Float = 6,
1607+                    DirectXPixelFormat_R32G32B32UInt = 7,
1608+                    DirectXPixelFormat_R32G32B32Int = 8,
1609+                    DirectXPixelFormat_R16G16B16A16Typeless = 9,
1610+                    DirectXPixelFormat_R16G16B16A16Float = 10,
1611+                    DirectXPixelFormat_R16G16B16A16UIntNormalized = 11,
1612+                    DirectXPixelFormat_R16G16B16A16UInt = 12,
1613+                    DirectXPixelFormat_R16G16B16A16IntNormalized = 13,
1614+                    DirectXPixelFormat_R16G16B16A16Int = 14,
1615+                    DirectXPixelFormat_R32G32Typeless = 15,
1616+                    DirectXPixelFormat_R32G32Float = 16,
1617+                    DirectXPixelFormat_R32G32UInt = 17,
1618+                    DirectXPixelFormat_R32G32Int = 18,
1619+                    DirectXPixelFormat_R32G8X24Typeless = 19,
1620+                    DirectXPixelFormat_D32FloatS8X24UInt = 20,
1621+                    DirectXPixelFormat_R32FloatX8X24Typeless = 21,
1622+                    DirectXPixelFormat_X32TypelessG8X24UInt = 22,
1623+                    DirectXPixelFormat_R10G10B10A2Typeless = 23,
1624+                    DirectXPixelFormat_R10G10B10A2UIntNormalized = 24,
1625+                    DirectXPixelFormat_R10G10B10A2UInt = 25,
1626+                    DirectXPixelFormat_R11G11B10Float = 26,
1627+                    DirectXPixelFormat_R8G8B8A8Typeless = 27,
1628+                    DirectXPixelFormat_R8G8B8A8UIntNormalized = 28,
1629+                    DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29,
1630+                    DirectXPixelFormat_R8G8B8A8UInt = 30,
1631+                    DirectXPixelFormat_R8G8B8A8IntNormalized = 31,
1632+                    DirectXPixelFormat_R8G8B8A8Int = 32,
1633+                    DirectXPixelFormat_R16G16Typeless = 33,
1634+                    DirectXPixelFormat_R16G16Float = 34,
1635+                    DirectXPixelFormat_R16G16UIntNormalized = 35,
1636+                    DirectXPixelFormat_R16G16UInt = 36,
1637+                    DirectXPixelFormat_R16G16IntNormalized = 37,
1638+                    DirectXPixelFormat_R16G16Int = 38,
1639+                    DirectXPixelFormat_R32Typeless = 39,
1640+                    DirectXPixelFormat_D32Float = 40,
1641+                    DirectXPixelFormat_R32Float = 41,
1642+                    DirectXPixelFormat_R32UInt = 42,
1643+                    DirectXPixelFormat_R32Int = 43,
1644+                    DirectXPixelFormat_R24G8Typeless = 44,
1645+                    DirectXPixelFormat_D24UIntNormalizedS8UInt = 45,
1646+                    DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46,
1647+                    DirectXPixelFormat_X24TypelessG8UInt = 47,
1648+                    DirectXPixelFormat_R8G8Typeless = 48,
1649+                    DirectXPixelFormat_R8G8UIntNormalized = 49,
1650+                    DirectXPixelFormat_R8G8UInt = 50,
1651+                    DirectXPixelFormat_R8G8IntNormalized = 51,
1652+                    DirectXPixelFormat_R8G8Int = 52,
1653+                    DirectXPixelFormat_R16Typeless = 53,
1654+                    DirectXPixelFormat_R16Float = 54,
1655+                    DirectXPixelFormat_D16UIntNormalized = 55,
1656+                    DirectXPixelFormat_R16UIntNormalized = 56,
1657+                    DirectXPixelFormat_R16UInt = 57,
1658+                    DirectXPixelFormat_R16IntNormalized = 58,
1659+                    DirectXPixelFormat_R16Int = 59,
1660+                    DirectXPixelFormat_R8Typeless = 60,
1661+                    DirectXPixelFormat_R8UIntNormalized = 61,
1662+                    DirectXPixelFormat_R8UInt = 62,
1663+                    DirectXPixelFormat_R8IntNormalized = 63,
1664+                    DirectXPixelFormat_R8Int = 64,
1665+                    DirectXPixelFormat_A8UIntNormalized = 65,
1666+                    DirectXPixelFormat_R1UIntNormalized = 66,
1667+                    DirectXPixelFormat_R9G9B9E5SharedExponent = 67,
1668+                    DirectXPixelFormat_R8G8B8G8UIntNormalized = 68,
1669+                    DirectXPixelFormat_G8R8G8B8UIntNormalized = 69,
1670+                    DirectXPixelFormat_BC1Typeless = 70,
1671+                    DirectXPixelFormat_BC1UIntNormalized = 71,
1672+                    DirectXPixelFormat_BC1UIntNormalizedSrgb = 72,
1673+                    DirectXPixelFormat_BC2Typeless = 73,
1674+                    DirectXPixelFormat_BC2UIntNormalized = 74,
1675+                    DirectXPixelFormat_BC2UIntNormalizedSrgb = 75,
1676+                    DirectXPixelFormat_BC3Typeless = 76,
1677+                    DirectXPixelFormat_BC3UIntNormalized = 77,
1678+                    DirectXPixelFormat_BC3UIntNormalizedSrgb = 78,
1679+                    DirectXPixelFormat_BC4Typeless = 79,
1680+                    DirectXPixelFormat_BC4UIntNormalized = 80,
1681+                    DirectXPixelFormat_BC4IntNormalized = 81,
1682+                    DirectXPixelFormat_BC5Typeless = 82,
1683+                    DirectXPixelFormat_BC5UIntNormalized = 83,
1684+                    DirectXPixelFormat_BC5IntNormalized = 84,
1685+                    DirectXPixelFormat_B5G6R5UIntNormalized = 85,
1686+                    DirectXPixelFormat_B5G5R5A1UIntNormalized = 86,
1687+                    DirectXPixelFormat_B8G8R8A8UIntNormalized = 87,
1688+                    DirectXPixelFormat_B8G8R8X8UIntNormalized = 88,
1689+                    DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89,
1690+                    DirectXPixelFormat_B8G8R8A8Typeless = 90,
1691+                    DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91,
1692+                    DirectXPixelFormat_B8G8R8X8Typeless = 92,
1693+                    DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93,
1694+                    DirectXPixelFormat_BC6HTypeless = 94,
1695+                    DirectXPixelFormat_BC6H16UnsignedFloat = 95,
1696+                    DirectXPixelFormat_BC6H16Float = 96,
1697+                    DirectXPixelFormat_BC7Typeless = 97,
1698+                    DirectXPixelFormat_BC7UIntNormalized = 98,
1699+                    DirectXPixelFormat_BC7UIntNormalizedSrgb = 99,
1700+                    DirectXPixelFormat_Ayuv = 100,
1701+                    DirectXPixelFormat_Y410 = 101,
1702+                    DirectXPixelFormat_Y416 = 102,
1703+                    DirectXPixelFormat_NV12 = 103,
1704+                    DirectXPixelFormat_P010 = 104,
1705+                    DirectXPixelFormat_P016 = 105,
1706+                    DirectXPixelFormat_Opaque420 = 106,
1707+                    DirectXPixelFormat_Yuy2 = 107,
1708+                    DirectXPixelFormat_Y210 = 108,
1709+                    DirectXPixelFormat_Y216 = 109,
1710+                    DirectXPixelFormat_NV11 = 110,
1711+                    DirectXPixelFormat_AI44 = 111,
1712+                    DirectXPixelFormat_IA44 = 112,
1713+                    DirectXPixelFormat_P8 = 113,
1714+                    DirectXPixelFormat_A8P8 = 114,
1715+                    DirectXPixelFormat_B4G4R4A4UIntNormalized = 115,
1716+                    DirectXPixelFormat_P208 = 130,
1717+                    DirectXPixelFormat_V208 = 131,
1718+                    DirectXPixelFormat_V408 = 132
1719+                };
1720+            }
1721+        }
1722+    }
1723+}
1724+extern "C" {
1725+#else
1726+enum __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat {
1727+    DirectXPixelFormat_Unknown = 0,
1728+    DirectXPixelFormat_R32G32B32A32Typeless = 1,
1729+    DirectXPixelFormat_R32G32B32A32Float = 2,
1730+    DirectXPixelFormat_R32G32B32A32UInt = 3,
1731+    DirectXPixelFormat_R32G32B32A32Int = 4,
1732+    DirectXPixelFormat_R32G32B32Typeless = 5,
1733+    DirectXPixelFormat_R32G32B32Float = 6,
1734+    DirectXPixelFormat_R32G32B32UInt = 7,
1735+    DirectXPixelFormat_R32G32B32Int = 8,
1736+    DirectXPixelFormat_R16G16B16A16Typeless = 9,
1737+    DirectXPixelFormat_R16G16B16A16Float = 10,
1738+    DirectXPixelFormat_R16G16B16A16UIntNormalized = 11,
1739+    DirectXPixelFormat_R16G16B16A16UInt = 12,
1740+    DirectXPixelFormat_R16G16B16A16IntNormalized = 13,
1741+    DirectXPixelFormat_R16G16B16A16Int = 14,
1742+    DirectXPixelFormat_R32G32Typeless = 15,
1743+    DirectXPixelFormat_R32G32Float = 16,
1744+    DirectXPixelFormat_R32G32UInt = 17,
1745+    DirectXPixelFormat_R32G32Int = 18,
1746+    DirectXPixelFormat_R32G8X24Typeless = 19,
1747+    DirectXPixelFormat_D32FloatS8X24UInt = 20,
1748+    DirectXPixelFormat_R32FloatX8X24Typeless = 21,
1749+    DirectXPixelFormat_X32TypelessG8X24UInt = 22,
1750+    DirectXPixelFormat_R10G10B10A2Typeless = 23,
1751+    DirectXPixelFormat_R10G10B10A2UIntNormalized = 24,
1752+    DirectXPixelFormat_R10G10B10A2UInt = 25,
1753+    DirectXPixelFormat_R11G11B10Float = 26,
1754+    DirectXPixelFormat_R8G8B8A8Typeless = 27,
1755+    DirectXPixelFormat_R8G8B8A8UIntNormalized = 28,
1756+    DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29,
1757+    DirectXPixelFormat_R8G8B8A8UInt = 30,
1758+    DirectXPixelFormat_R8G8B8A8IntNormalized = 31,
1759+    DirectXPixelFormat_R8G8B8A8Int = 32,
1760+    DirectXPixelFormat_R16G16Typeless = 33,
1761+    DirectXPixelFormat_R16G16Float = 34,
1762+    DirectXPixelFormat_R16G16UIntNormalized = 35,
1763+    DirectXPixelFormat_R16G16UInt = 36,
1764+    DirectXPixelFormat_R16G16IntNormalized = 37,
1765+    DirectXPixelFormat_R16G16Int = 38,
1766+    DirectXPixelFormat_R32Typeless = 39,
1767+    DirectXPixelFormat_D32Float = 40,
1768+    DirectXPixelFormat_R32Float = 41,
1769+    DirectXPixelFormat_R32UInt = 42,
1770+    DirectXPixelFormat_R32Int = 43,
1771+    DirectXPixelFormat_R24G8Typeless = 44,
1772+    DirectXPixelFormat_D24UIntNormalizedS8UInt = 45,
1773+    DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46,
1774+    DirectXPixelFormat_X24TypelessG8UInt = 47,
1775+    DirectXPixelFormat_R8G8Typeless = 48,
1776+    DirectXPixelFormat_R8G8UIntNormalized = 49,
1777+    DirectXPixelFormat_R8G8UInt = 50,
1778+    DirectXPixelFormat_R8G8IntNormalized = 51,
1779+    DirectXPixelFormat_R8G8Int = 52,
1780+    DirectXPixelFormat_R16Typeless = 53,
1781+    DirectXPixelFormat_R16Float = 54,
1782+    DirectXPixelFormat_D16UIntNormalized = 55,
1783+    DirectXPixelFormat_R16UIntNormalized = 56,
1784+    DirectXPixelFormat_R16UInt = 57,
1785+    DirectXPixelFormat_R16IntNormalized = 58,
1786+    DirectXPixelFormat_R16Int = 59,
1787+    DirectXPixelFormat_R8Typeless = 60,
1788+    DirectXPixelFormat_R8UIntNormalized = 61,
1789+    DirectXPixelFormat_R8UInt = 62,
1790+    DirectXPixelFormat_R8IntNormalized = 63,
1791+    DirectXPixelFormat_R8Int = 64,
1792+    DirectXPixelFormat_A8UIntNormalized = 65,
1793+    DirectXPixelFormat_R1UIntNormalized = 66,
1794+    DirectXPixelFormat_R9G9B9E5SharedExponent = 67,
1795+    DirectXPixelFormat_R8G8B8G8UIntNormalized = 68,
1796+    DirectXPixelFormat_G8R8G8B8UIntNormalized = 69,
1797+    DirectXPixelFormat_BC1Typeless = 70,
1798+    DirectXPixelFormat_BC1UIntNormalized = 71,
1799+    DirectXPixelFormat_BC1UIntNormalizedSrgb = 72,
1800+    DirectXPixelFormat_BC2Typeless = 73,
1801+    DirectXPixelFormat_BC2UIntNormalized = 74,
1802+    DirectXPixelFormat_BC2UIntNormalizedSrgb = 75,
1803+    DirectXPixelFormat_BC3Typeless = 76,
1804+    DirectXPixelFormat_BC3UIntNormalized = 77,
1805+    DirectXPixelFormat_BC3UIntNormalizedSrgb = 78,
1806+    DirectXPixelFormat_BC4Typeless = 79,
1807+    DirectXPixelFormat_BC4UIntNormalized = 80,
1808+    DirectXPixelFormat_BC4IntNormalized = 81,
1809+    DirectXPixelFormat_BC5Typeless = 82,
1810+    DirectXPixelFormat_BC5UIntNormalized = 83,
1811+    DirectXPixelFormat_BC5IntNormalized = 84,
1812+    DirectXPixelFormat_B5G6R5UIntNormalized = 85,
1813+    DirectXPixelFormat_B5G5R5A1UIntNormalized = 86,
1814+    DirectXPixelFormat_B8G8R8A8UIntNormalized = 87,
1815+    DirectXPixelFormat_B8G8R8X8UIntNormalized = 88,
1816+    DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89,
1817+    DirectXPixelFormat_B8G8R8A8Typeless = 90,
1818+    DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91,
1819+    DirectXPixelFormat_B8G8R8X8Typeless = 92,
1820+    DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93,
1821+    DirectXPixelFormat_BC6HTypeless = 94,
1822+    DirectXPixelFormat_BC6H16UnsignedFloat = 95,
1823+    DirectXPixelFormat_BC6H16Float = 96,
1824+    DirectXPixelFormat_BC7Typeless = 97,
1825+    DirectXPixelFormat_BC7UIntNormalized = 98,
1826+    DirectXPixelFormat_BC7UIntNormalizedSrgb = 99,
1827+    DirectXPixelFormat_Ayuv = 100,
1828+    DirectXPixelFormat_Y410 = 101,
1829+    DirectXPixelFormat_Y416 = 102,
1830+    DirectXPixelFormat_NV12 = 103,
1831+    DirectXPixelFormat_P010 = 104,
1832+    DirectXPixelFormat_P016 = 105,
1833+    DirectXPixelFormat_Opaque420 = 106,
1834+    DirectXPixelFormat_Yuy2 = 107,
1835+    DirectXPixelFormat_Y210 = 108,
1836+    DirectXPixelFormat_Y216 = 109,
1837+    DirectXPixelFormat_NV11 = 110,
1838+    DirectXPixelFormat_AI44 = 111,
1839+    DirectXPixelFormat_IA44 = 112,
1840+    DirectXPixelFormat_P8 = 113,
1841+    DirectXPixelFormat_A8P8 = 114,
1842+    DirectXPixelFormat_B4G4R4A4UIntNormalized = 115,
1843+    DirectXPixelFormat_P208 = 130,
1844+    DirectXPixelFormat_V208 = 131,
1845+    DirectXPixelFormat_V408 = 132
1846+};
1847+#endif
1848+
1849+#ifdef __cplusplus
1850+namespace ABI {
1851+    namespace Windows {
1852+        namespace Graphics {
1853+            namespace DirectX {
1854+typedef enum DirectXPixelFormat DirectXPixelFormat;
1855+            }
1856+        }
1857+    }
1858+}
1859+#endif /* __cplusplus */
1860+/* Begin additional prototypes for all interfaces */
1861+
1862+
1863+/* End additional prototypes */
1864+
1865+#ifdef __cplusplus
1866+}
1867+#endif
1868+
1869+#endif /* __windows_graphics_directx_h__ */
1870diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h
1871new file mode 100644
1872index 00000000..7c6e62a5
1873--- /dev/null
1874+++ b/mingw-w64-headers/include/windows.graphics.effects.h
1875@@ -0,0 +1,184 @@
1876+/*** Autogenerated by WIDL 4.4 from windows.graphics.effects.idl - Do not edit ***/
1877+
1878+#ifdef _WIN32
1879+#ifndef __REQUIRED_RPCNDR_H_VERSION__
1880+#define __REQUIRED_RPCNDR_H_VERSION__ 475
1881+#endif
1882+#include <rpc.h>
1883+#include <rpcndr.h>
1884+#endif
1885+
1886+#ifndef COM_NO_WINDOWS_H
1887+#include <windows.h>
1888+#include <ole2.h>
1889+#endif
1890+
1891+#ifndef __windows_graphics_effects_h__
1892+#define __windows_graphics_effects_h__
1893+
1894+/* Forward declarations */
1895+
1896+#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__
1897+#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_FWD_DEFINED__
1898+typedef interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect;
1899+#ifdef __cplusplus
1900+namespace ABI {
1901+    namespace Windows {
1902+        namespace Graphics {
1903+            namespace Effects {
1904+                interface IGraphicsEffect;
1905+            }
1906+        }
1907+    }
1908+}
1909+#endif /* __cplusplus */
1910+#endif
1911+
1912+/* Headers for imported files */
1913+
1914+#include <inspectable.h>
1915+#include <windows.foundation.h>
1916+
1917+#ifdef __cplusplus
1918+extern "C" {
1919+#endif
1920+
1921+/*****************************************************************************
1922+ * IGraphicsEffect interface
1923+ */
1924+#ifndef ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__
1925+#define ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__
1926+
1927+DEFINE_GUID(IID___x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3);
1928+#if defined(__cplusplus) && !defined(CINTERFACE)
1929+} /* extern "C" */
1930+namespace ABI {
1931+    namespace Windows {
1932+        namespace Graphics {
1933+            namespace Effects {
1934+                MIDL_INTERFACE("cb51c0ce-8fe6-4636-b202-861faa07d8f3")
1935+                IGraphicsEffect : public IInspectable
1936+                {
1937+                    virtual HRESULT STDMETHODCALLTYPE get_Name(
1938+                        HSTRING *name) = 0;
1939+
1940+                    virtual HRESULT STDMETHODCALLTYPE put_Name(
1941+                        HSTRING name) = 0;
1942+
1943+                };
1944+            }
1945+        }
1946+    }
1947+}
1948+extern "C" {
1949+#ifdef __CRT_UUID_DECL
1950+__CRT_UUID_DECL(ABI::Windows::Graphics::Effects::IGraphicsEffect, 0xcb51c0ce, 0x8fe6, 0x4636, 0xb2,0x02, 0x86,0x1f,0xaa,0x07,0xd8,0xf3)
1951+#endif
1952+#else
1953+typedef struct __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl {
1954+    BEGIN_INTERFACE
1955+
1956+    /*** IUnknown methods ***/
1957+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1958+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1959+        REFIID riid,
1960+        void **ppvObject);
1961+
1962+    ULONG (STDMETHODCALLTYPE *AddRef)(
1963+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This);
1964+
1965+    ULONG (STDMETHODCALLTYPE *Release)(
1966+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This);
1967+
1968+    /*** IInspectable methods ***/
1969+    HRESULT (STDMETHODCALLTYPE *GetIids)(
1970+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1971+        ULONG *iidCount,
1972+        IID **iids);
1973+
1974+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
1975+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1976+        HSTRING *className);
1977+
1978+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
1979+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1980+        TrustLevel *trustLevel);
1981+
1982+    /*** IGraphicsEffect methods ***/
1983+    HRESULT (STDMETHODCALLTYPE *get_Name)(
1984+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1985+        HSTRING *name);
1986+
1987+    HRESULT (STDMETHODCALLTYPE *put_Name)(
1988+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *This,
1989+        HSTRING name);
1990+
1991+    END_INTERFACE
1992+} __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl;
1993+
1994+interface __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect {
1995+    CONST_VTBL __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffectVtbl* lpVtbl;
1996+};
1997+
1998+#ifdef COBJMACROS
1999+#ifndef WIDL_C_INLINE_WRAPPERS
2000+/*** IUnknown methods ***/
2001+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2002+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(This) (This)->lpVtbl->AddRef(This)
2003+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(This) (This)->lpVtbl->Release(This)
2004+/*** IInspectable methods ***/
2005+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
2006+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
2007+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
2008+/*** IGraphicsEffect methods ***/
2009+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(This,name) (This)->lpVtbl->get_Name(This,name)
2010+#define __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
2011+#else
2012+/*** IUnknown methods ***/
2013+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_QueryInterface(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,REFIID riid,void **ppvObject) {
2014+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2015+}
2016+static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_AddRef(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) {
2017+    return This->lpVtbl->AddRef(This);
2018+}
2019+static FORCEINLINE ULONG __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_Release(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This) {
2020+    return This->lpVtbl->Release(This);
2021+}
2022+/*** IInspectable methods ***/
2023+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetIids(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,ULONG *iidCount,IID **iids) {
2024+    return This->lpVtbl->GetIids(This,iidCount,iids);
2025+}
2026+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetRuntimeClassName(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *className) {
2027+    return This->lpVtbl->GetRuntimeClassName(This,className);
2028+}
2029+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_GetTrustLevel(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,TrustLevel *trustLevel) {
2030+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
2031+}
2032+/*** IGraphicsEffect methods ***/
2033+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_get_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING *name) {
2034+    return This->lpVtbl->get_Name(This,name);
2035+}
2036+static FORCEINLINE HRESULT __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_put_Name(__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect* This,HSTRING name) {
2037+    return This->lpVtbl->put_Name(This,name);
2038+}
2039+#endif
2040+#endif
2041+
2042+#endif
2043+
2044+#endif  /* ____x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect_INTERFACE_DEFINED__ */
2045+
2046+/* Begin additional prototypes for all interfaces */
2047+
2048+ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
2049+unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
2050+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
2051+void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
2052+
2053+/* End additional prototypes */
2054+
2055+#ifdef __cplusplus
2056+}
2057+#endif
2058+
2059+#endif /* __windows_graphics_effects_h__ */
2060diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h
2061new file mode 100644
2062index 00000000..9410a3ce
2063--- /dev/null
2064+++ b/mingw-w64-headers/include/windows.ui.composition.h
2065@@ -0,0 +1,3212 @@
2066+/*** Autogenerated by WIDL 4.4 from windows.ui.composition.idl - Do not edit ***/
2067+
2068+#ifdef _WIN32
2069+#ifndef __REQUIRED_RPCNDR_H_VERSION__
2070+#define __REQUIRED_RPCNDR_H_VERSION__ 475
2071+#endif
2072+#include <rpc.h>
2073+#include <rpcndr.h>
2074+#endif
2075+
2076+#ifndef COM_NO_WINDOWS_H
2077+#include <windows.h>
2078+#include <ole2.h>
2079+#endif
2080+
2081+#ifndef __windows_ui_composition_h__
2082+#define __windows_ui_composition_h__
2083+
2084+/* Forward declarations */
2085+
2086+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__
2087+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_FWD_DEFINED__
2088+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush __x_ABI_CWindows_CUI_CComposition_CICompositionBrush;
2089+#ifdef __cplusplus
2090+namespace ABI {
2091+    namespace Windows {
2092+        namespace UI {
2093+            namespace Composition {
2094+                interface ICompositionBrush;
2095+            }
2096+        }
2097+    }
2098+}
2099+#endif /* __cplusplus */
2100+#endif
2101+
2102+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__
2103+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_FWD_DEFINED__
2104+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface;
2105+#ifdef __cplusplus
2106+namespace ABI {
2107+    namespace Windows {
2108+        namespace UI {
2109+            namespace Composition {
2110+                interface ICompositionSurface;
2111+            }
2112+        }
2113+    }
2114+}
2115+#endif /* __cplusplus */
2116+#endif
2117+
2118+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__
2119+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_FWD_DEFINED__
2120+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush;
2121+#ifdef __cplusplus
2122+namespace ABI {
2123+    namespace Windows {
2124+        namespace UI {
2125+            namespace Composition {
2126+                interface ICompositionSurfaceBrush;
2127+            }
2128+        }
2129+    }
2130+}
2131+#endif /* __cplusplus */
2132+#endif
2133+
2134+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__
2135+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_FWD_DEFINED__
2136+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush __x_ABI_CWindows_CUI_CComposition_CCompositionBrush;
2137+#ifdef __cplusplus
2138+namespace ABI {
2139+    namespace Windows {
2140+        namespace UI {
2141+            namespace Composition {
2142+                interface CompositionBrush;
2143+            }
2144+        }
2145+    }
2146+}
2147+#endif /* __cplusplus */
2148+#endif
2149+
2150+#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__
2151+#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_FWD_DEFINED__
2152+typedef interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual __x_ABI_CWindows_CUI_CComposition_CISpriteVisual;
2153+#ifdef __cplusplus
2154+namespace ABI {
2155+    namespace Windows {
2156+        namespace UI {
2157+            namespace Composition {
2158+                interface ISpriteVisual;
2159+            }
2160+        }
2161+    }
2162+}
2163+#endif /* __cplusplus */
2164+#endif
2165+
2166+#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__
2167+#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_FWD_DEFINED__
2168+typedef interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual __x_ABI_CWindows_CUI_CComposition_CSpriteVisual;
2169+#ifdef __cplusplus
2170+namespace ABI {
2171+    namespace Windows {
2172+        namespace UI {
2173+            namespace Composition {
2174+                interface SpriteVisual;
2175+            }
2176+        }
2177+    }
2178+}
2179+#endif /* __cplusplus */
2180+#endif
2181+
2182+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__
2183+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_FWD_DEFINED__
2184+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip __x_ABI_CWindows_CUI_CComposition_CCompositionClip;
2185+#ifdef __cplusplus
2186+namespace ABI {
2187+    namespace Windows {
2188+        namespace UI {
2189+            namespace Composition {
2190+                interface CompositionClip;
2191+            }
2192+        }
2193+    }
2194+}
2195+#endif /* __cplusplus */
2196+#endif
2197+
2198+#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__
2199+#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_FWD_DEFINED__
2200+typedef interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual __x_ABI_CWindows_CUI_CComposition_CContainerVisual;
2201+#ifdef __cplusplus
2202+namespace ABI {
2203+    namespace Windows {
2204+        namespace UI {
2205+            namespace Composition {
2206+                interface ContainerVisual;
2207+            }
2208+        }
2209+    }
2210+}
2211+#endif /* __cplusplus */
2212+#endif
2213+
2214+#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
2215+#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_FWD_DEFINED__
2216+typedef interface __x_ABI_CWindows_CUI_CComposition_CIVisual __x_ABI_CWindows_CUI_CComposition_CIVisual;
2217+#ifdef __cplusplus
2218+namespace ABI {
2219+    namespace Windows {
2220+        namespace UI {
2221+            namespace Composition {
2222+                interface IVisual;
2223+            }
2224+        }
2225+    }
2226+}
2227+#endif /* __cplusplus */
2228+#endif
2229+
2230+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__
2231+#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_FWD_DEFINED__
2232+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositor __x_ABI_CWindows_CUI_CComposition_CCompositor;
2233+#ifdef __cplusplus
2234+namespace ABI {
2235+    namespace Windows {
2236+        namespace UI {
2237+            namespace Composition {
2238+                interface Compositor;
2239+            }
2240+        }
2241+    }
2242+}
2243+#endif /* __cplusplus */
2244+#endif
2245+
2246+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__
2247+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_FWD_DEFINED__
2248+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet;
2249+#ifdef __cplusplus
2250+namespace ABI {
2251+    namespace Windows {
2252+        namespace UI {
2253+            namespace Composition {
2254+                interface CompositionPropertySet;
2255+            }
2256+        }
2257+    }
2258+}
2259+#endif /* __cplusplus */
2260+#endif
2261+
2262+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__
2263+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_FWD_DEFINED__
2264+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation;
2265+#ifdef __cplusplus
2266+namespace ABI {
2267+    namespace Windows {
2268+        namespace UI {
2269+            namespace Composition {
2270+                interface CompositionAnimation;
2271+            }
2272+        }
2273+    }
2274+}
2275+#endif /* __cplusplus */
2276+#endif
2277+
2278+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__
2279+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_FWD_DEFINED__
2280+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject __x_ABI_CWindows_CUI_CComposition_CICompositionObject;
2281+#ifdef __cplusplus
2282+namespace ABI {
2283+    namespace Windows {
2284+        namespace UI {
2285+            namespace Composition {
2286+                interface ICompositionObject;
2287+            }
2288+        }
2289+    }
2290+}
2291+#endif /* __cplusplus */
2292+#endif
2293+
2294+#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__
2295+#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_FWD_DEFINED__
2296+typedef interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation;
2297+#ifdef __cplusplus
2298+namespace ABI {
2299+    namespace Windows {
2300+        namespace UI {
2301+            namespace Composition {
2302+                interface ColorKeyFrameAnimation;
2303+            }
2304+        }
2305+    }
2306+}
2307+#endif /* __cplusplus */
2308+#endif
2309+
2310+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__
2311+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_FWD_DEFINED__
2312+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush;
2313+#ifdef __cplusplus
2314+namespace ABI {
2315+    namespace Windows {
2316+        namespace UI {
2317+            namespace Composition {
2318+                interface CompositionColorBrush;
2319+            }
2320+        }
2321+    }
2322+}
2323+#endif /* __cplusplus */
2324+#endif
2325+
2326+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__
2327+#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_FWD_DEFINED__
2328+typedef interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction;
2329+#ifdef __cplusplus
2330+namespace ABI {
2331+    namespace Windows {
2332+        namespace UI {
2333+            namespace Composition {
2334+                interface CubicBezierEasingFunction;
2335+            }
2336+        }
2337+    }
2338+}
2339+#endif /* __cplusplus */
2340+#endif
2341+
2342+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
2343+#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
2344+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor;
2345+#ifdef __cplusplus
2346+namespace ABI {
2347+    namespace Windows {
2348+        namespace UI {
2349+            namespace Composition {
2350+                interface ICompositor;
2351+            }
2352+        }
2353+    }
2354+}
2355+#endif /* __cplusplus */
2356+#endif
2357+
2358+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__
2359+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_FWD_DEFINED__
2360+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice;
2361+#ifdef __cplusplus
2362+namespace ABI {
2363+    namespace Windows {
2364+        namespace UI {
2365+            namespace Composition {
2366+                interface ICompositionGraphicsDevice;
2367+            }
2368+        }
2369+    }
2370+}
2371+#endif /* __cplusplus */
2372+#endif
2373+
2374+/* Headers for imported files */
2375+
2376+#include <inspectable.h>
2377+#include <windows.foundation.h>
2378+#include <windows.foundation.numerics.h>
2379+#include <windows.graphics.directx.h>
2380+#include <windows.graphics.effects.h>
2381+#include <windows.ui.h>
2382+#include <windows.ui.core.h>
2383+
2384+#ifdef __cplusplus
2385+extern "C" {
2386+#endif
2387+
2388+#ifdef __cplusplus
2389+} /* extern "C" */
2390+namespace ABI {
2391+    namespace Windows {
2392+        namespace UI {
2393+            namespace Composition {
2394+                enum CompositionBitmapInterpolationMode {
2395+                    CompositionBitmapInterpolationMode_NearestNeighbor = 0,
2396+                    CompositionBitmapInterpolationMode_Linear = 1
2397+                };
2398+            }
2399+        }
2400+    }
2401+}
2402+extern "C" {
2403+#else
2404+enum __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode {
2405+    CompositionBitmapInterpolationMode_NearestNeighbor = 0,
2406+    CompositionBitmapInterpolationMode_Linear = 1
2407+};
2408+#endif
2409+
2410+#ifdef __cplusplus
2411+namespace ABI {
2412+    namespace Windows {
2413+        namespace UI {
2414+            namespace Composition {
2415+typedef enum CompositionBitmapInterpolationMode CompositionBitmapInterpolationMode;
2416+            }
2417+        }
2418+    }
2419+}
2420+#endif /* __cplusplus */
2421+#ifdef __cplusplus
2422+} /* extern "C" */
2423+namespace ABI {
2424+    namespace Windows {
2425+        namespace UI {
2426+            namespace Composition {
2427+                enum CompositionStretch {
2428+                    CompositionStretch_None = 0,
2429+                    CompositionStretch_Fill = 1,
2430+                    CompositionStretch_Uniform = 2,
2431+                    CompositionStretch_UniformToFill = 3
2432+                };
2433+            }
2434+        }
2435+    }
2436+}
2437+extern "C" {
2438+#else
2439+enum __x_ABI_CWindows_CUI_CComposition_CCompositionStretch {
2440+    CompositionStretch_None = 0,
2441+    CompositionStretch_Fill = 1,
2442+    CompositionStretch_Uniform = 2,
2443+    CompositionStretch_UniformToFill = 3
2444+};
2445+#endif
2446+
2447+#ifdef __cplusplus
2448+namespace ABI {
2449+    namespace Windows {
2450+        namespace UI {
2451+            namespace Composition {
2452+typedef enum CompositionStretch CompositionStretch;
2453+            }
2454+        }
2455+    }
2456+}
2457+#endif /* __cplusplus */
2458+#ifdef __cplusplus
2459+} /* extern "C" */
2460+namespace ABI {
2461+    namespace Windows {
2462+        namespace UI {
2463+            namespace Composition {
2464+                enum CompositionBackfaceVisibility {
2465+                    CompositionBackfaceVisibility_Inherit = 0,
2466+                    CompositionBackfaceVisibility_Visible = 1,
2467+                    CompositionBackfaceVisibility_Hidden = 2
2468+                };
2469+            }
2470+        }
2471+    }
2472+}
2473+extern "C" {
2474+#else
2475+enum __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility {
2476+    CompositionBackfaceVisibility_Inherit = 0,
2477+    CompositionBackfaceVisibility_Visible = 1,
2478+    CompositionBackfaceVisibility_Hidden = 2
2479+};
2480+#endif
2481+
2482+#ifdef __cplusplus
2483+namespace ABI {
2484+    namespace Windows {
2485+        namespace UI {
2486+            namespace Composition {
2487+typedef enum CompositionBackfaceVisibility CompositionBackfaceVisibility;
2488+            }
2489+        }
2490+    }
2491+}
2492+#endif /* __cplusplus */
2493+#ifdef __cplusplus
2494+} /* extern "C" */
2495+namespace ABI {
2496+    namespace Windows {
2497+        namespace UI {
2498+            namespace Composition {
2499+                enum CompositionBorderMode {
2500+                    CompositionBorderMode_Inherit = 0,
2501+                    CompositionBorderMode_Soft = 1,
2502+                    CompositionBorderMode_Hard = 2
2503+                };
2504+            }
2505+        }
2506+    }
2507+}
2508+extern "C" {
2509+#else
2510+enum __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode {
2511+    CompositionBorderMode_Inherit = 0,
2512+    CompositionBorderMode_Soft = 1,
2513+    CompositionBorderMode_Hard = 2
2514+};
2515+#endif
2516+
2517+#ifdef __cplusplus
2518+namespace ABI {
2519+    namespace Windows {
2520+        namespace UI {
2521+            namespace Composition {
2522+typedef enum CompositionBorderMode CompositionBorderMode;
2523+            }
2524+        }
2525+    }
2526+}
2527+#endif /* __cplusplus */
2528+#ifdef __cplusplus
2529+} /* extern "C" */
2530+namespace ABI {
2531+    namespace Windows {
2532+        namespace UI {
2533+            namespace Composition {
2534+                enum CompositionCompositeMode {
2535+                    CompositionCompositeMode_Inherit = 0,
2536+                    CompositionCompositeMode_SourceOver = 1,
2537+                    CompositionCompositeMode_DestinationInvert = 2,
2538+                    CompositionCompositeMode_MinBlend = 3
2539+                };
2540+            }
2541+        }
2542+    }
2543+}
2544+extern "C" {
2545+#else
2546+enum __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode {
2547+    CompositionCompositeMode_Inherit = 0,
2548+    CompositionCompositeMode_SourceOver = 1,
2549+    CompositionCompositeMode_DestinationInvert = 2,
2550+    CompositionCompositeMode_MinBlend = 3
2551+};
2552+#endif
2553+
2554+#ifdef __cplusplus
2555+namespace ABI {
2556+    namespace Windows {
2557+        namespace UI {
2558+            namespace Composition {
2559+typedef enum CompositionCompositeMode CompositionCompositeMode;
2560+            }
2561+        }
2562+    }
2563+}
2564+#endif /* __cplusplus */
2565+#ifdef __cplusplus
2566+} /* extern "C" */
2567+namespace ABI {
2568+    namespace Windows {
2569+        namespace UI {
2570+            namespace Composition {
2571+                enum CompositionBatchTypes {
2572+                    CompositionBatchTypes_None = 0x0,
2573+                    CompositionBatchTypes_Animation = 0x1,
2574+                    CompositionBatchTypes_Effect = 0x2
2575+                };
2576+            }
2577+        }
2578+    }
2579+}
2580+extern "C" {
2581+#else
2582+enum __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes {
2583+    CompositionBatchTypes_None = 0x0,
2584+    CompositionBatchTypes_Animation = 0x1,
2585+    CompositionBatchTypes_Effect = 0x2
2586+};
2587+#endif
2588+
2589+#ifdef __cplusplus
2590+namespace ABI {
2591+    namespace Windows {
2592+        namespace UI {
2593+            namespace Composition {
2594+typedef enum CompositionBatchTypes CompositionBatchTypes;
2595+            }
2596+        }
2597+    }
2598+}
2599+#endif /* __cplusplus */
2600+/*****************************************************************************
2601+ * ICompositionBrush interface
2602+ */
2603+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__
2604+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__
2605+
2606+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46);
2607+#if defined(__cplusplus) && !defined(CINTERFACE)
2608+} /* extern "C" */
2609+namespace ABI {
2610+    namespace Windows {
2611+        namespace UI {
2612+            namespace Composition {
2613+                MIDL_INTERFACE("ab0d7608-30c0-40e9-b568-b60a6bd1fb46")
2614+                ICompositionBrush : public IInspectable
2615+                {
2616+                };
2617+            }
2618+        }
2619+    }
2620+}
2621+extern "C" {
2622+#ifdef __CRT_UUID_DECL
2623+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionBrush, 0xab0d7608, 0x30c0, 0x40e9, 0xb5,0x68, 0xb6,0x0a,0x6b,0xd1,0xfb,0x46)
2624+#endif
2625+#else
2626+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl {
2627+    BEGIN_INTERFACE
2628+
2629+    /*** IUnknown methods ***/
2630+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2631+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
2632+        REFIID riid,
2633+        void **ppvObject);
2634+
2635+    ULONG (STDMETHODCALLTYPE *AddRef)(
2636+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This);
2637+
2638+    ULONG (STDMETHODCALLTYPE *Release)(
2639+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This);
2640+
2641+    /*** IInspectable methods ***/
2642+    HRESULT (STDMETHODCALLTYPE *GetIids)(
2643+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
2644+        ULONG *iidCount,
2645+        IID **iids);
2646+
2647+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
2648+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
2649+        HSTRING *className);
2650+
2651+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
2652+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *This,
2653+        TrustLevel *trustLevel);
2654+
2655+    END_INTERFACE
2656+} __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl;
2657+
2658+interface __x_ABI_CWindows_CUI_CComposition_CICompositionBrush {
2659+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionBrushVtbl* lpVtbl;
2660+};
2661+
2662+#ifdef COBJMACROS
2663+#ifndef WIDL_C_INLINE_WRAPPERS
2664+/*** IUnknown methods ***/
2665+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2666+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
2667+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(This) (This)->lpVtbl->Release(This)
2668+/*** IInspectable methods ***/
2669+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
2670+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
2671+#define __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
2672+#else
2673+/*** IUnknown methods ***/
2674+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,REFIID riid,void **ppvObject) {
2675+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2676+}
2677+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) {
2678+    return This->lpVtbl->AddRef(This);
2679+}
2680+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This) {
2681+    return This->lpVtbl->Release(This);
2682+}
2683+/*** IInspectable methods ***/
2684+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,ULONG *iidCount,IID **iids) {
2685+    return This->lpVtbl->GetIids(This,iidCount,iids);
2686+}
2687+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,HSTRING *className) {
2688+    return This->lpVtbl->GetRuntimeClassName(This,className);
2689+}
2690+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionBrush* This,TrustLevel *trustLevel) {
2691+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
2692+}
2693+#endif
2694+#endif
2695+
2696+#endif
2697+
2698+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositionBrush_INTERFACE_DEFINED__ */
2699+
2700+/*****************************************************************************
2701+ * ICompositionSurface interface
2702+ */
2703+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__
2704+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__
2705+
2706+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb);
2707+#if defined(__cplusplus) && !defined(CINTERFACE)
2708+} /* extern "C" */
2709+namespace ABI {
2710+    namespace Windows {
2711+        namespace UI {
2712+            namespace Composition {
2713+                MIDL_INTERFACE("1527540d-42c7-47a6-a408-668f79a90dfb")
2714+                ICompositionSurface : public IInspectable
2715+                {
2716+                };
2717+            }
2718+        }
2719+    }
2720+}
2721+extern "C" {
2722+#ifdef __CRT_UUID_DECL
2723+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurface, 0x1527540d, 0x42c7, 0x47a6, 0xa4,0x08, 0x66,0x8f,0x79,0xa9,0x0d,0xfb)
2724+#endif
2725+#else
2726+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl {
2727+    BEGIN_INTERFACE
2728+
2729+    /*** IUnknown methods ***/
2730+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2731+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
2732+        REFIID riid,
2733+        void **ppvObject);
2734+
2735+    ULONG (STDMETHODCALLTYPE *AddRef)(
2736+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This);
2737+
2738+    ULONG (STDMETHODCALLTYPE *Release)(
2739+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This);
2740+
2741+    /*** IInspectable methods ***/
2742+    HRESULT (STDMETHODCALLTYPE *GetIids)(
2743+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
2744+        ULONG *iidCount,
2745+        IID **iids);
2746+
2747+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
2748+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
2749+        HSTRING *className);
2750+
2751+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
2752+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *This,
2753+        TrustLevel *trustLevel);
2754+
2755+    END_INTERFACE
2756+} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl;
2757+
2758+interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurface {
2759+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceVtbl* lpVtbl;
2760+};
2761+
2762+#ifdef COBJMACROS
2763+#ifndef WIDL_C_INLINE_WRAPPERS
2764+/*** IUnknown methods ***/
2765+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2766+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
2767+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(This) (This)->lpVtbl->Release(This)
2768+/*** IInspectable methods ***/
2769+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
2770+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
2771+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
2772+#else
2773+/*** IUnknown methods ***/
2774+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,REFIID riid,void **ppvObject) {
2775+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2776+}
2777+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) {
2778+    return This->lpVtbl->AddRef(This);
2779+}
2780+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This) {
2781+    return This->lpVtbl->Release(This);
2782+}
2783+/*** IInspectable methods ***/
2784+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,ULONG *iidCount,IID **iids) {
2785+    return This->lpVtbl->GetIids(This,iidCount,iids);
2786+}
2787+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,HSTRING *className) {
2788+    return This->lpVtbl->GetRuntimeClassName(This,className);
2789+}
2790+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurface_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurface* This,TrustLevel *trustLevel) {
2791+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
2792+}
2793+#endif
2794+#endif
2795+
2796+#endif
2797+
2798+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurface_INTERFACE_DEFINED__ */
2799+
2800+/*****************************************************************************
2801+ * ICompositionSurfaceBrush interface
2802+ */
2803+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__
2804+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__
2805+
2806+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62);
2807+#if defined(__cplusplus) && !defined(CINTERFACE)
2808+} /* extern "C" */
2809+namespace ABI {
2810+    namespace Windows {
2811+        namespace UI {
2812+            namespace Composition {
2813+                MIDL_INTERFACE("ad016d79-1e4c-4c0d-9c29-83338c87c162")
2814+                ICompositionSurfaceBrush : public IInspectable
2815+                {
2816+                    virtual HRESULT STDMETHODCALLTYPE get_BitmapInterpolationMode(
2817+                        ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode *value) = 0;
2818+
2819+                    virtual HRESULT STDMETHODCALLTYPE put_BitmapInterpolationMode(
2820+                        ABI::Windows::UI::Composition::CompositionBitmapInterpolationMode value) = 0;
2821+
2822+                    virtual HRESULT STDMETHODCALLTYPE get_HorizontalAlignmentRatio(
2823+                        FLOAT *value) = 0;
2824+
2825+                    virtual HRESULT STDMETHODCALLTYPE put_HorizontalAlignmentRatio(
2826+                        FLOAT value) = 0;
2827+
2828+                    virtual HRESULT STDMETHODCALLTYPE get_Stretch(
2829+                        ABI::Windows::UI::Composition::CompositionStretch *value) = 0;
2830+
2831+                    virtual HRESULT STDMETHODCALLTYPE put_Stretch(
2832+                        ABI::Windows::UI::Composition::CompositionStretch value) = 0;
2833+
2834+                    virtual HRESULT STDMETHODCALLTYPE get_Surface(
2835+                        ABI::Windows::UI::Composition::ICompositionSurface **value) = 0;
2836+
2837+                    virtual HRESULT STDMETHODCALLTYPE put_Surface(
2838+                        ABI::Windows::UI::Composition::ICompositionSurface *value) = 0;
2839+
2840+                    virtual HRESULT STDMETHODCALLTYPE get_VerticalAlignmentRatio(
2841+                        FLOAT *value) = 0;
2842+
2843+                    virtual HRESULT STDMETHODCALLTYPE put_VerticalAlignmentRatio(
2844+                        FLOAT value) = 0;
2845+
2846+                };
2847+            }
2848+        }
2849+    }
2850+}
2851+extern "C" {
2852+#ifdef __CRT_UUID_DECL
2853+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionSurfaceBrush, 0xad016d79, 0x1e4c, 0x4c0d, 0x9c,0x29, 0x83,0x33,0x8c,0x87,0xc1,0x62)
2854+#endif
2855+#else
2856+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl {
2857+    BEGIN_INTERFACE
2858+
2859+    /*** IUnknown methods ***/
2860+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2861+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2862+        REFIID riid,
2863+        void **ppvObject);
2864+
2865+    ULONG (STDMETHODCALLTYPE *AddRef)(
2866+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This);
2867+
2868+    ULONG (STDMETHODCALLTYPE *Release)(
2869+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This);
2870+
2871+    /*** IInspectable methods ***/
2872+    HRESULT (STDMETHODCALLTYPE *GetIids)(
2873+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2874+        ULONG *iidCount,
2875+        IID **iids);
2876+
2877+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
2878+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2879+        HSTRING *className);
2880+
2881+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
2882+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2883+        TrustLevel *trustLevel);
2884+
2885+    /*** ICompositionSurfaceBrush methods ***/
2886+    HRESULT (STDMETHODCALLTYPE *get_BitmapInterpolationMode)(
2887+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2888+        __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value);
2889+
2890+    HRESULT (STDMETHODCALLTYPE *put_BitmapInterpolationMode)(
2891+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2892+        __x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value);
2893+
2894+    HRESULT (STDMETHODCALLTYPE *get_HorizontalAlignmentRatio)(
2895+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2896+        FLOAT *value);
2897+
2898+    HRESULT (STDMETHODCALLTYPE *put_HorizontalAlignmentRatio)(
2899+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2900+        FLOAT value);
2901+
2902+    HRESULT (STDMETHODCALLTYPE *get_Stretch)(
2903+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2904+        __x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value);
2905+
2906+    HRESULT (STDMETHODCALLTYPE *put_Stretch)(
2907+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2908+        __x_ABI_CWindows_CUI_CComposition_CCompositionStretch value);
2909+
2910+    HRESULT (STDMETHODCALLTYPE *get_Surface)(
2911+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2912+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value);
2913+
2914+    HRESULT (STDMETHODCALLTYPE *put_Surface)(
2915+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2916+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value);
2917+
2918+    HRESULT (STDMETHODCALLTYPE *get_VerticalAlignmentRatio)(
2919+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2920+        FLOAT *value);
2921+
2922+    HRESULT (STDMETHODCALLTYPE *put_VerticalAlignmentRatio)(
2923+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush *This,
2924+        FLOAT value);
2925+
2926+    END_INTERFACE
2927+} __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl;
2928+
2929+interface __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush {
2930+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrushVtbl* lpVtbl;
2931+};
2932+
2933+#ifdef COBJMACROS
2934+#ifndef WIDL_C_INLINE_WRAPPERS
2935+/*** IUnknown methods ***/
2936+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2937+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
2938+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(This) (This)->lpVtbl->Release(This)
2939+/*** IInspectable methods ***/
2940+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
2941+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
2942+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
2943+/*** ICompositionSurfaceBrush methods ***/
2944+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(This,value) (This)->lpVtbl->get_BitmapInterpolationMode(This,value)
2945+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(This,value) (This)->lpVtbl->put_BitmapInterpolationMode(This,value)
2946+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->get_HorizontalAlignmentRatio(This,value)
2947+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(This,value) (This)->lpVtbl->put_HorizontalAlignmentRatio(This,value)
2948+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(This,value) (This)->lpVtbl->get_Stretch(This,value)
2949+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(This,value) (This)->lpVtbl->put_Stretch(This,value)
2950+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(This,value) (This)->lpVtbl->get_Surface(This,value)
2951+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(This,value) (This)->lpVtbl->put_Surface(This,value)
2952+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(This,value) (This)->lpVtbl->get_VerticalAlignmentRatio(This,value)
2953+#define __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(This,value) (This)->lpVtbl->put_VerticalAlignmentRatio(This,value)
2954+#else
2955+/*** IUnknown methods ***/
2956+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,REFIID riid,void **ppvObject) {
2957+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2958+}
2959+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) {
2960+    return This->lpVtbl->AddRef(This);
2961+}
2962+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This) {
2963+    return This->lpVtbl->Release(This);
2964+}
2965+/*** IInspectable methods ***/
2966+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,ULONG *iidCount,IID **iids) {
2967+    return This->lpVtbl->GetIids(This,iidCount,iids);
2968+}
2969+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,HSTRING *className) {
2970+    return This->lpVtbl->GetRuntimeClassName(This,className);
2971+}
2972+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,TrustLevel *trustLevel) {
2973+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
2974+}
2975+/*** ICompositionSurfaceBrush methods ***/
2976+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode *value) {
2977+    return This->lpVtbl->get_BitmapInterpolationMode(This,value);
2978+}
2979+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_BitmapInterpolationMode(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBitmapInterpolationMode value) {
2980+    return This->lpVtbl->put_BitmapInterpolationMode(This,value);
2981+}
2982+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) {
2983+    return This->lpVtbl->get_HorizontalAlignmentRatio(This,value);
2984+}
2985+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_HorizontalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) {
2986+    return This->lpVtbl->put_HorizontalAlignmentRatio(This,value);
2987+}
2988+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch *value) {
2989+    return This->lpVtbl->get_Stretch(This,value);
2990+}
2991+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Stretch(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CCompositionStretch value) {
2992+    return This->lpVtbl->put_Stretch(This,value);
2993+}
2994+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface **value) {
2995+    return This->lpVtbl->get_Surface(This,value);
2996+}
2997+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_Surface(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *value) {
2998+    return This->lpVtbl->put_Surface(This,value);
2999+}
3000+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_get_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT *value) {
3001+    return This->lpVtbl->get_VerticalAlignmentRatio(This,value);
3002+}
3003+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_put_VerticalAlignmentRatio(__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush* This,FLOAT value) {
3004+    return This->lpVtbl->put_VerticalAlignmentRatio(This,value);
3005+}
3006+#endif
3007+#endif
3008+
3009+#endif
3010+
3011+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush_INTERFACE_DEFINED__ */
3012+
3013+/*****************************************************************************
3014+ * CompositionBrush interface
3015+ */
3016+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__
3017+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__
3018+
3019+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c);
3020+#if defined(__cplusplus) && !defined(CINTERFACE)
3021+} /* extern "C" */
3022+namespace ABI {
3023+    namespace Windows {
3024+        namespace UI {
3025+            namespace Composition {
3026+                MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233c")
3027+                CompositionBrush : public IUnknown
3028+                {
3029+                };
3030+            }
3031+        }
3032+    }
3033+}
3034+extern "C" {
3035+#ifdef __CRT_UUID_DECL
3036+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionBrush, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3c)
3037+#endif
3038+#else
3039+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl {
3040+    BEGIN_INTERFACE
3041+
3042+    /*** IUnknown methods ***/
3043+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3044+        __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This,
3045+        REFIID riid,
3046+        void **ppvObject);
3047+
3048+    ULONG (STDMETHODCALLTYPE *AddRef)(
3049+        __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This);
3050+
3051+    ULONG (STDMETHODCALLTYPE *Release)(
3052+        __x_ABI_CWindows_CUI_CComposition_CCompositionBrush *This);
3053+
3054+    END_INTERFACE
3055+} __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl;
3056+
3057+interface __x_ABI_CWindows_CUI_CComposition_CCompositionBrush {
3058+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionBrushVtbl* lpVtbl;
3059+};
3060+
3061+#ifdef COBJMACROS
3062+#ifndef WIDL_C_INLINE_WRAPPERS
3063+/*** IUnknown methods ***/
3064+#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3065+#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
3066+#define __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(This) (This)->lpVtbl->Release(This)
3067+#else
3068+/*** IUnknown methods ***/
3069+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This,REFIID riid,void **ppvObject) {
3070+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3071+}
3072+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) {
3073+    return This->lpVtbl->AddRef(This);
3074+}
3075+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionBrush* This) {
3076+    return This->lpVtbl->Release(This);
3077+}
3078+#endif
3079+#endif
3080+
3081+#endif
3082+
3083+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositionBrush_INTERFACE_DEFINED__ */
3084+
3085+/*****************************************************************************
3086+ * ISpriteVisual interface
3087+ */
3088+#ifndef ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__
3089+#define ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__
3090+
3091+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3092+#if defined(__cplusplus) && !defined(CINTERFACE)
3093+} /* extern "C" */
3094+namespace ABI {
3095+    namespace Windows {
3096+        namespace UI {
3097+            namespace Composition {
3098+                MIDL_INTERFACE("08e05581-1ad1-4f97-9757-402d76e4233b")
3099+                ISpriteVisual : public IInspectable
3100+                {
3101+                    virtual HRESULT STDMETHODCALLTYPE get_Brush(
3102+                        ABI::Windows::UI::Composition::CompositionBrush **value) = 0;
3103+
3104+                    virtual HRESULT STDMETHODCALLTYPE put_Brush(
3105+                        ABI::Windows::UI::Composition::ICompositionBrush *value) = 0;
3106+
3107+                };
3108+            }
3109+        }
3110+    }
3111+}
3112+extern "C" {
3113+#ifdef __CRT_UUID_DECL
3114+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ISpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x97,0x57, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3115+#endif
3116+#else
3117+typedef struct __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl {
3118+    BEGIN_INTERFACE
3119+
3120+    /*** IUnknown methods ***/
3121+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3122+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3123+        REFIID riid,
3124+        void **ppvObject);
3125+
3126+    ULONG (STDMETHODCALLTYPE *AddRef)(
3127+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This);
3128+
3129+    ULONG (STDMETHODCALLTYPE *Release)(
3130+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This);
3131+
3132+    /*** IInspectable methods ***/
3133+    HRESULT (STDMETHODCALLTYPE *GetIids)(
3134+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3135+        ULONG *iidCount,
3136+        IID **iids);
3137+
3138+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
3139+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3140+        HSTRING *className);
3141+
3142+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
3143+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3144+        TrustLevel *trustLevel);
3145+
3146+    /*** ISpriteVisual methods ***/
3147+    HRESULT (STDMETHODCALLTYPE *get_Brush)(
3148+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3149+        __x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value);
3150+
3151+    HRESULT (STDMETHODCALLTYPE *put_Brush)(
3152+        __x_ABI_CWindows_CUI_CComposition_CISpriteVisual *This,
3153+        __x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value);
3154+
3155+    END_INTERFACE
3156+} __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl;
3157+
3158+interface __x_ABI_CWindows_CUI_CComposition_CISpriteVisual {
3159+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CISpriteVisualVtbl* lpVtbl;
3160+};
3161+
3162+#ifdef COBJMACROS
3163+#ifndef WIDL_C_INLINE_WRAPPERS
3164+/*** IUnknown methods ***/
3165+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3166+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
3167+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(This) (This)->lpVtbl->Release(This)
3168+/*** IInspectable methods ***/
3169+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
3170+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
3171+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
3172+/*** ISpriteVisual methods ***/
3173+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(This,value) (This)->lpVtbl->get_Brush(This,value)
3174+#define __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(This,value) (This)->lpVtbl->put_Brush(This,value)
3175+#else
3176+/*** IUnknown methods ***/
3177+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,REFIID riid,void **ppvObject) {
3178+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3179+}
3180+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) {
3181+    return This->lpVtbl->AddRef(This);
3182+}
3183+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This) {
3184+    return This->lpVtbl->Release(This);
3185+}
3186+/*** IInspectable methods ***/
3187+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,ULONG *iidCount,IID **iids) {
3188+    return This->lpVtbl->GetIids(This,iidCount,iids);
3189+}
3190+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,HSTRING *className) {
3191+    return This->lpVtbl->GetRuntimeClassName(This,className);
3192+}
3193+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,TrustLevel *trustLevel) {
3194+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
3195+}
3196+/*** ISpriteVisual methods ***/
3197+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_get_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBrush **value) {
3198+    return This->lpVtbl->get_Brush(This,value);
3199+}
3200+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CISpriteVisual_put_Brush(__x_ABI_CWindows_CUI_CComposition_CISpriteVisual* This,__x_ABI_CWindows_CUI_CComposition_CICompositionBrush *value) {
3201+    return This->lpVtbl->put_Brush(This,value);
3202+}
3203+#endif
3204+#endif
3205+
3206+#endif
3207+
3208+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CISpriteVisual_INTERFACE_DEFINED__ */
3209+
3210+/*****************************************************************************
3211+ * SpriteVisual interface
3212+ */
3213+#ifndef ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__
3214+#define ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__
3215+
3216+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CSpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3217+#if defined(__cplusplus) && !defined(CINTERFACE)
3218+} /* extern "C" */
3219+namespace ABI {
3220+    namespace Windows {
3221+        namespace UI {
3222+            namespace Composition {
3223+                MIDL_INTERFACE("08e05581-1ad1-4f97-9666-402d76e4233b")
3224+                SpriteVisual : public IUnknown
3225+                {
3226+                };
3227+            }
3228+        }
3229+    }
3230+}
3231+extern "C" {
3232+#ifdef __CRT_UUID_DECL
3233+__CRT_UUID_DECL(ABI::Windows::UI::Composition::SpriteVisual, 0x08e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3234+#endif
3235+#else
3236+typedef struct __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl {
3237+    BEGIN_INTERFACE
3238+
3239+    /*** IUnknown methods ***/
3240+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3241+        __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This,
3242+        REFIID riid,
3243+        void **ppvObject);
3244+
3245+    ULONG (STDMETHODCALLTYPE *AddRef)(
3246+        __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This);
3247+
3248+    ULONG (STDMETHODCALLTYPE *Release)(
3249+        __x_ABI_CWindows_CUI_CComposition_CSpriteVisual *This);
3250+
3251+    END_INTERFACE
3252+} __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl;
3253+
3254+interface __x_ABI_CWindows_CUI_CComposition_CSpriteVisual {
3255+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CSpriteVisualVtbl* lpVtbl;
3256+};
3257+
3258+#ifdef COBJMACROS
3259+#ifndef WIDL_C_INLINE_WRAPPERS
3260+/*** IUnknown methods ***/
3261+#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3262+#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
3263+#define __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(This) (This)->lpVtbl->Release(This)
3264+#else
3265+/*** IUnknown methods ***/
3266+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This,REFIID riid,void **ppvObject) {
3267+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3268+}
3269+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) {
3270+    return This->lpVtbl->AddRef(This);
3271+}
3272+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CSpriteVisual_Release(__x_ABI_CWindows_CUI_CComposition_CSpriteVisual* This) {
3273+    return This->lpVtbl->Release(This);
3274+}
3275+#endif
3276+#endif
3277+
3278+#endif
3279+
3280+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CSpriteVisual_INTERFACE_DEFINED__ */
3281+
3282+/*****************************************************************************
3283+ * CompositionClip interface
3284+ */
3285+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__
3286+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__
3287+
3288+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3289+#if defined(__cplusplus) && !defined(CINTERFACE)
3290+} /* extern "C" */
3291+namespace ABI {
3292+    namespace Windows {
3293+        namespace UI {
3294+            namespace Composition {
3295+                MIDL_INTERFACE("18e05581-1ad1-4f97-9666-402d76e4233b")
3296+                CompositionClip : public IUnknown
3297+                {
3298+                };
3299+            }
3300+        }
3301+    }
3302+}
3303+extern "C" {
3304+#ifdef __CRT_UUID_DECL
3305+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionClip, 0x18e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3306+#endif
3307+#else
3308+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl {
3309+    BEGIN_INTERFACE
3310+
3311+    /*** IUnknown methods ***/
3312+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3313+        __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This,
3314+        REFIID riid,
3315+        void **ppvObject);
3316+
3317+    ULONG (STDMETHODCALLTYPE *AddRef)(
3318+        __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This);
3319+
3320+    ULONG (STDMETHODCALLTYPE *Release)(
3321+        __x_ABI_CWindows_CUI_CComposition_CCompositionClip *This);
3322+
3323+    END_INTERFACE
3324+} __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl;
3325+
3326+interface __x_ABI_CWindows_CUI_CComposition_CCompositionClip {
3327+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionClipVtbl* lpVtbl;
3328+};
3329+
3330+#ifdef COBJMACROS
3331+#ifndef WIDL_C_INLINE_WRAPPERS
3332+/*** IUnknown methods ***/
3333+#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3334+#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(This) (This)->lpVtbl->AddRef(This)
3335+#define __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(This) (This)->lpVtbl->Release(This)
3336+#else
3337+/*** IUnknown methods ***/
3338+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionClip_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This,REFIID riid,void **ppvObject) {
3339+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3340+}
3341+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) {
3342+    return This->lpVtbl->AddRef(This);
3343+}
3344+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionClip_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionClip* This) {
3345+    return This->lpVtbl->Release(This);
3346+}
3347+#endif
3348+#endif
3349+
3350+#endif
3351+
3352+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositionClip_INTERFACE_DEFINED__ */
3353+
3354+/*****************************************************************************
3355+ * ContainerVisual interface
3356+ */
3357+#ifndef ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__
3358+#define ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__
3359+
3360+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3361+#if defined(__cplusplus) && !defined(CINTERFACE)
3362+} /* extern "C" */
3363+namespace ABI {
3364+    namespace Windows {
3365+        namespace UI {
3366+            namespace Composition {
3367+                MIDL_INTERFACE("28e05581-1ad1-4f97-9666-402d76e4233b")
3368+                ContainerVisual : public IUnknown
3369+                {
3370+                };
3371+            }
3372+        }
3373+    }
3374+}
3375+extern "C" {
3376+#ifdef __CRT_UUID_DECL
3377+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ContainerVisual, 0x28e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3378+#endif
3379+#else
3380+typedef struct __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl {
3381+    BEGIN_INTERFACE
3382+
3383+    /*** IUnknown methods ***/
3384+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3385+        __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This,
3386+        REFIID riid,
3387+        void **ppvObject);
3388+
3389+    ULONG (STDMETHODCALLTYPE *AddRef)(
3390+        __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This);
3391+
3392+    ULONG (STDMETHODCALLTYPE *Release)(
3393+        __x_ABI_CWindows_CUI_CComposition_CContainerVisual *This);
3394+
3395+    END_INTERFACE
3396+} __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl;
3397+
3398+interface __x_ABI_CWindows_CUI_CComposition_CContainerVisual {
3399+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CContainerVisualVtbl* lpVtbl;
3400+};
3401+
3402+#ifdef COBJMACROS
3403+#ifndef WIDL_C_INLINE_WRAPPERS
3404+/*** IUnknown methods ***/
3405+#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3406+#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
3407+#define __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(This) (This)->lpVtbl->Release(This)
3408+#else
3409+/*** IUnknown methods ***/
3410+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CContainerVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This,REFIID riid,void **ppvObject) {
3411+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3412+}
3413+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) {
3414+    return This->lpVtbl->AddRef(This);
3415+}
3416+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CContainerVisual_Release(__x_ABI_CWindows_CUI_CComposition_CContainerVisual* This) {
3417+    return This->lpVtbl->Release(This);
3418+}
3419+#endif
3420+#endif
3421+
3422+#endif
3423+
3424+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CContainerVisual_INTERFACE_DEFINED__ */
3425+
3426+/*****************************************************************************
3427+ * IVisual interface
3428+ */
3429+#ifndef ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__
3430+#define ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__
3431+
3432+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CIVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3);
3433+#if defined(__cplusplus) && !defined(CINTERFACE)
3434+} /* extern "C" */
3435+namespace ABI {
3436+    namespace Windows {
3437+        namespace UI {
3438+            namespace Composition {
3439+                MIDL_INTERFACE("117e202d-a859-4c89-873b-c2aa566788e3")
3440+                IVisual : public IInspectable
3441+                {
3442+                    virtual HRESULT STDMETHODCALLTYPE get_AnchorPoint(
3443+                        ABI::Windows::Foundation::Numerics::Vector2 *value) = 0;
3444+
3445+                    virtual HRESULT STDMETHODCALLTYPE put_AnchorPoint(
3446+                        ABI::Windows::Foundation::Numerics::Vector2 value) = 0;
3447+
3448+                    virtual HRESULT STDMETHODCALLTYPE get_BackfaceVisibility(
3449+                        ABI::Windows::UI::Composition::CompositionBackfaceVisibility *value) = 0;
3450+
3451+                    virtual HRESULT STDMETHODCALLTYPE put_BackfaceVisibility(
3452+                        ABI::Windows::UI::Composition::CompositionBackfaceVisibility value) = 0;
3453+
3454+                    virtual HRESULT STDMETHODCALLTYPE get_BorderMode(
3455+                        ABI::Windows::UI::Composition::CompositionBorderMode *value) = 0;
3456+
3457+                    virtual HRESULT STDMETHODCALLTYPE put_BorderMode(
3458+                        ABI::Windows::UI::Composition::CompositionBorderMode value) = 0;
3459+
3460+                    virtual HRESULT STDMETHODCALLTYPE get_CenterPoint(
3461+                        ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
3462+
3463+                    virtual HRESULT STDMETHODCALLTYPE put_CenterPoint(
3464+                        ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
3465+
3466+                    virtual HRESULT STDMETHODCALLTYPE get_Clip(
3467+                        ABI::Windows::UI::Composition::CompositionClip **value) = 0;
3468+
3469+                    virtual HRESULT STDMETHODCALLTYPE put_Clip(
3470+                        ABI::Windows::UI::Composition::CompositionClip *value) = 0;
3471+
3472+                    virtual HRESULT STDMETHODCALLTYPE get_CompositeMode(
3473+                        ABI::Windows::UI::Composition::CompositionCompositeMode *value) = 0;
3474+
3475+                    virtual HRESULT STDMETHODCALLTYPE put_CompositeMode(
3476+                        ABI::Windows::UI::Composition::CompositionCompositeMode value) = 0;
3477+
3478+                    virtual HRESULT STDMETHODCALLTYPE get_IsVisible(
3479+                        boolean *value) = 0;
3480+
3481+                    virtual HRESULT STDMETHODCALLTYPE put_IsVisible(
3482+                        boolean value) = 0;
3483+
3484+                    virtual HRESULT STDMETHODCALLTYPE get_Offset(
3485+                        ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
3486+
3487+                    virtual HRESULT STDMETHODCALLTYPE put_Offset(
3488+                        ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
3489+
3490+                    virtual HRESULT STDMETHODCALLTYPE get_Opacity(
3491+                        FLOAT *value) = 0;
3492+
3493+                    virtual HRESULT STDMETHODCALLTYPE put_Opacity(
3494+                        FLOAT value) = 0;
3495+
3496+                    virtual HRESULT STDMETHODCALLTYPE get_Orientation(
3497+                        ABI::Windows::Foundation::Numerics::Quaternion *value) = 0;
3498+
3499+                    virtual HRESULT STDMETHODCALLTYPE put_Orientation(
3500+                        ABI::Windows::Foundation::Numerics::Quaternion value) = 0;
3501+
3502+                    virtual HRESULT STDMETHODCALLTYPE get_Parent(
3503+                        ABI::Windows::UI::Composition::ContainerVisual **value) = 0;
3504+
3505+                    virtual HRESULT STDMETHODCALLTYPE get_RotationAngle(
3506+                        FLOAT *value) = 0;
3507+
3508+                    virtual HRESULT STDMETHODCALLTYPE put_RotationAngle(
3509+                        FLOAT value) = 0;
3510+
3511+                    virtual HRESULT STDMETHODCALLTYPE get_RotationAngleInDegrees(
3512+                        FLOAT *value) = 0;
3513+
3514+                    virtual HRESULT STDMETHODCALLTYPE put_RotationAngleInDegrees(
3515+                        FLOAT value) = 0;
3516+
3517+                    virtual HRESULT STDMETHODCALLTYPE get_RotationAxis(
3518+                        ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
3519+
3520+                    virtual HRESULT STDMETHODCALLTYPE put_RotationAxis(
3521+                        ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
3522+
3523+                    virtual HRESULT STDMETHODCALLTYPE get_Scale(
3524+                        ABI::Windows::Foundation::Numerics::Vector3 *value) = 0;
3525+
3526+                    virtual HRESULT STDMETHODCALLTYPE put_Scale(
3527+                        ABI::Windows::Foundation::Numerics::Vector3 value) = 0;
3528+
3529+                    virtual HRESULT STDMETHODCALLTYPE get_Size(
3530+                        ABI::Windows::Foundation::Numerics::Vector2 *value) = 0;
3531+
3532+                    virtual HRESULT STDMETHODCALLTYPE put_Size(
3533+                        ABI::Windows::Foundation::Numerics::Vector2 value) = 0;
3534+
3535+                    virtual HRESULT STDMETHODCALLTYPE get_TransformMatrix(
3536+                        ABI::Windows::Foundation::Numerics::Matrix4x4 *value) = 0;
3537+
3538+                    virtual HRESULT STDMETHODCALLTYPE put_TransformMatrix(
3539+                        ABI::Windows::Foundation::Numerics::Matrix4x4 value) = 0;
3540+
3541+                };
3542+            }
3543+        }
3544+    }
3545+}
3546+extern "C" {
3547+#ifdef __CRT_UUID_DECL
3548+__CRT_UUID_DECL(ABI::Windows::UI::Composition::IVisual, 0x117e202d, 0xa859, 0x4c89, 0x87,0x3b, 0xc2,0xaa,0x56,0x67,0x88,0xe3)
3549+#endif
3550+#else
3551+typedef struct __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl {
3552+    BEGIN_INTERFACE
3553+
3554+    /*** IUnknown methods ***/
3555+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3556+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3557+        REFIID riid,
3558+        void **ppvObject);
3559+
3560+    ULONG (STDMETHODCALLTYPE *AddRef)(
3561+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This);
3562+
3563+    ULONG (STDMETHODCALLTYPE *Release)(
3564+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This);
3565+
3566+    /*** IInspectable methods ***/
3567+    HRESULT (STDMETHODCALLTYPE *GetIids)(
3568+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3569+        ULONG *iidCount,
3570+        IID **iids);
3571+
3572+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
3573+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3574+        HSTRING *className);
3575+
3576+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
3577+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3578+        TrustLevel *trustLevel);
3579+
3580+    /*** IVisual methods ***/
3581+    HRESULT (STDMETHODCALLTYPE *get_AnchorPoint)(
3582+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3583+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value);
3584+
3585+    HRESULT (STDMETHODCALLTYPE *put_AnchorPoint)(
3586+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3587+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value);
3588+
3589+    HRESULT (STDMETHODCALLTYPE *get_BackfaceVisibility)(
3590+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3591+        __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value);
3592+
3593+    HRESULT (STDMETHODCALLTYPE *put_BackfaceVisibility)(
3594+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3595+        __x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value);
3596+
3597+    HRESULT (STDMETHODCALLTYPE *get_BorderMode)(
3598+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3599+        __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value);
3600+
3601+    HRESULT (STDMETHODCALLTYPE *put_BorderMode)(
3602+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3603+        __x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value);
3604+
3605+    HRESULT (STDMETHODCALLTYPE *get_CenterPoint)(
3606+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3607+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
3608+
3609+    HRESULT (STDMETHODCALLTYPE *put_CenterPoint)(
3610+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3611+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
3612+
3613+    HRESULT (STDMETHODCALLTYPE *get_Clip)(
3614+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3615+        __x_ABI_CWindows_CUI_CComposition_CCompositionClip **value);
3616+
3617+    HRESULT (STDMETHODCALLTYPE *put_Clip)(
3618+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3619+        __x_ABI_CWindows_CUI_CComposition_CCompositionClip *value);
3620+
3621+    HRESULT (STDMETHODCALLTYPE *get_CompositeMode)(
3622+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3623+        __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value);
3624+
3625+    HRESULT (STDMETHODCALLTYPE *put_CompositeMode)(
3626+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3627+        __x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value);
3628+
3629+    HRESULT (STDMETHODCALLTYPE *get_IsVisible)(
3630+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3631+        boolean *value);
3632+
3633+    HRESULT (STDMETHODCALLTYPE *put_IsVisible)(
3634+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3635+        boolean value);
3636+
3637+    HRESULT (STDMETHODCALLTYPE *get_Offset)(
3638+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3639+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
3640+
3641+    HRESULT (STDMETHODCALLTYPE *put_Offset)(
3642+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3643+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
3644+
3645+    HRESULT (STDMETHODCALLTYPE *get_Opacity)(
3646+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3647+        FLOAT *value);
3648+
3649+    HRESULT (STDMETHODCALLTYPE *put_Opacity)(
3650+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3651+        FLOAT value);
3652+
3653+    HRESULT (STDMETHODCALLTYPE *get_Orientation)(
3654+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3655+        __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value);
3656+
3657+    HRESULT (STDMETHODCALLTYPE *put_Orientation)(
3658+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3659+        __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value);
3660+
3661+    HRESULT (STDMETHODCALLTYPE *get_Parent)(
3662+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3663+        __x_ABI_CWindows_CUI_CComposition_CContainerVisual **value);
3664+
3665+    HRESULT (STDMETHODCALLTYPE *get_RotationAngle)(
3666+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3667+        FLOAT *value);
3668+
3669+    HRESULT (STDMETHODCALLTYPE *put_RotationAngle)(
3670+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3671+        FLOAT value);
3672+
3673+    HRESULT (STDMETHODCALLTYPE *get_RotationAngleInDegrees)(
3674+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3675+        FLOAT *value);
3676+
3677+    HRESULT (STDMETHODCALLTYPE *put_RotationAngleInDegrees)(
3678+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3679+        FLOAT value);
3680+
3681+    HRESULT (STDMETHODCALLTYPE *get_RotationAxis)(
3682+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3683+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
3684+
3685+    HRESULT (STDMETHODCALLTYPE *put_RotationAxis)(
3686+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3687+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
3688+
3689+    HRESULT (STDMETHODCALLTYPE *get_Scale)(
3690+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3691+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value);
3692+
3693+    HRESULT (STDMETHODCALLTYPE *put_Scale)(
3694+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3695+        __x_ABI_CWindows_CFoundation_CNumerics_CVector3 value);
3696+
3697+    HRESULT (STDMETHODCALLTYPE *get_Size)(
3698+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3699+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value);
3700+
3701+    HRESULT (STDMETHODCALLTYPE *put_Size)(
3702+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3703+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 value);
3704+
3705+    HRESULT (STDMETHODCALLTYPE *get_TransformMatrix)(
3706+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3707+        __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value);
3708+
3709+    HRESULT (STDMETHODCALLTYPE *put_TransformMatrix)(
3710+        __x_ABI_CWindows_CUI_CComposition_CIVisual *This,
3711+        __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value);
3712+
3713+    END_INTERFACE
3714+} __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl;
3715+
3716+interface __x_ABI_CWindows_CUI_CComposition_CIVisual {
3717+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CIVisualVtbl* lpVtbl;
3718+};
3719+
3720+#ifdef COBJMACROS
3721+#ifndef WIDL_C_INLINE_WRAPPERS
3722+/*** IUnknown methods ***/
3723+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3724+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(This) (This)->lpVtbl->AddRef(This)
3725+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(This) (This)->lpVtbl->Release(This)
3726+/*** IInspectable methods ***/
3727+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
3728+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
3729+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
3730+/*** IVisual methods ***/
3731+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(This,value) (This)->lpVtbl->get_AnchorPoint(This,value)
3732+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(This,value) (This)->lpVtbl->put_AnchorPoint(This,value)
3733+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(This,value) (This)->lpVtbl->get_BackfaceVisibility(This,value)
3734+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(This,value) (This)->lpVtbl->put_BackfaceVisibility(This,value)
3735+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(This,value) (This)->lpVtbl->get_BorderMode(This,value)
3736+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(This,value) (This)->lpVtbl->put_BorderMode(This,value)
3737+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(This,value) (This)->lpVtbl->get_CenterPoint(This,value)
3738+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(This,value) (This)->lpVtbl->put_CenterPoint(This,value)
3739+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(This,value) (This)->lpVtbl->get_Clip(This,value)
3740+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(This,value) (This)->lpVtbl->put_Clip(This,value)
3741+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(This,value) (This)->lpVtbl->get_CompositeMode(This,value)
3742+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(This,value) (This)->lpVtbl->put_CompositeMode(This,value)
3743+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(This,value) (This)->lpVtbl->get_IsVisible(This,value)
3744+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(This,value) (This)->lpVtbl->put_IsVisible(This,value)
3745+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(This,value) (This)->lpVtbl->get_Offset(This,value)
3746+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(This,value) (This)->lpVtbl->put_Offset(This,value)
3747+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(This,value) (This)->lpVtbl->get_Opacity(This,value)
3748+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(This,value) (This)->lpVtbl->put_Opacity(This,value)
3749+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(This,value) (This)->lpVtbl->get_Orientation(This,value)
3750+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(This,value) (This)->lpVtbl->put_Orientation(This,value)
3751+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(This,value) (This)->lpVtbl->get_Parent(This,value)
3752+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(This,value) (This)->lpVtbl->get_RotationAngle(This,value)
3753+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(This,value) (This)->lpVtbl->put_RotationAngle(This,value)
3754+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(This,value) (This)->lpVtbl->get_RotationAngleInDegrees(This,value)
3755+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(This,value) (This)->lpVtbl->put_RotationAngleInDegrees(This,value)
3756+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(This,value) (This)->lpVtbl->get_RotationAxis(This,value)
3757+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(This,value) (This)->lpVtbl->put_RotationAxis(This,value)
3758+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(This,value) (This)->lpVtbl->get_Scale(This,value)
3759+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(This,value) (This)->lpVtbl->put_Scale(This,value)
3760+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
3761+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(This,value) (This)->lpVtbl->put_Size(This,value)
3762+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(This,value) (This)->lpVtbl->get_TransformMatrix(This,value)
3763+#define __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(This,value) (This)->lpVtbl->put_TransformMatrix(This,value)
3764+#else
3765+/*** IUnknown methods ***/
3766+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,REFIID riid,void **ppvObject) {
3767+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3768+}
3769+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_AddRef(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) {
3770+    return This->lpVtbl->AddRef(This);
3771+}
3772+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CIVisual_Release(__x_ABI_CWindows_CUI_CComposition_CIVisual* This) {
3773+    return This->lpVtbl->Release(This);
3774+}
3775+/*** IInspectable methods ***/
3776+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetIids(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,ULONG *iidCount,IID **iids) {
3777+    return This->lpVtbl->GetIids(This,iidCount,iids);
3778+}
3779+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,HSTRING *className) {
3780+    return This->lpVtbl->GetRuntimeClassName(This,className);
3781+}
3782+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,TrustLevel *trustLevel) {
3783+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
3784+}
3785+/*** IVisual methods ***/
3786+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) {
3787+    return This->lpVtbl->get_AnchorPoint(This,value);
3788+}
3789+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_AnchorPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) {
3790+    return This->lpVtbl->put_AnchorPoint(This,value);
3791+}
3792+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility *value) {
3793+    return This->lpVtbl->get_BackfaceVisibility(This,value);
3794+}
3795+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BackfaceVisibility(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBackfaceVisibility value) {
3796+    return This->lpVtbl->put_BackfaceVisibility(This,value);
3797+}
3798+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode *value) {
3799+    return This->lpVtbl->get_BorderMode(This,value);
3800+}
3801+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_BorderMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBorderMode value) {
3802+    return This->lpVtbl->put_BorderMode(This,value);
3803+}
3804+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
3805+    return This->lpVtbl->get_CenterPoint(This,value);
3806+}
3807+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CenterPoint(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
3808+    return This->lpVtbl->put_CenterPoint(This,value);
3809+}
3810+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip **value) {
3811+    return This->lpVtbl->get_Clip(This,value);
3812+}
3813+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Clip(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionClip *value) {
3814+    return This->lpVtbl->put_Clip(This,value);
3815+}
3816+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode *value) {
3817+    return This->lpVtbl->get_CompositeMode(This,value);
3818+}
3819+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_CompositeMode(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CCompositionCompositeMode value) {
3820+    return This->lpVtbl->put_CompositeMode(This,value);
3821+}
3822+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean *value) {
3823+    return This->lpVtbl->get_IsVisible(This,value);
3824+}
3825+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_IsVisible(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,boolean value) {
3826+    return This->lpVtbl->put_IsVisible(This,value);
3827+}
3828+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
3829+    return This->lpVtbl->get_Offset(This,value);
3830+}
3831+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Offset(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
3832+    return This->lpVtbl->put_Offset(This,value);
3833+}
3834+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
3835+    return This->lpVtbl->get_Opacity(This,value);
3836+}
3837+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Opacity(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
3838+    return This->lpVtbl->put_Opacity(This,value);
3839+}
3840+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion *value) {
3841+    return This->lpVtbl->get_Orientation(This,value);
3842+}
3843+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Orientation(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CQuaternion value) {
3844+    return This->lpVtbl->put_Orientation(This,value);
3845+}
3846+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Parent(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **value) {
3847+    return This->lpVtbl->get_Parent(This,value);
3848+}
3849+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
3850+    return This->lpVtbl->get_RotationAngle(This,value);
3851+}
3852+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngle(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
3853+    return This->lpVtbl->put_RotationAngle(This,value);
3854+}
3855+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT *value) {
3856+    return This->lpVtbl->get_RotationAngleInDegrees(This,value);
3857+}
3858+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAngleInDegrees(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,FLOAT value) {
3859+    return This->lpVtbl->put_RotationAngleInDegrees(This,value);
3860+}
3861+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
3862+    return This->lpVtbl->get_RotationAxis(This,value);
3863+}
3864+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_RotationAxis(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
3865+    return This->lpVtbl->put_RotationAxis(This,value);
3866+}
3867+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 *value) {
3868+    return This->lpVtbl->get_Scale(This,value);
3869+}
3870+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Scale(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector3 value) {
3871+    return This->lpVtbl->put_Scale(This,value);
3872+}
3873+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 *value) {
3874+    return This->lpVtbl->get_Size(This,value);
3875+}
3876+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_Size(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 value) {
3877+    return This->lpVtbl->put_Size(This,value);
3878+}
3879+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_get_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 *value) {
3880+    return This->lpVtbl->get_TransformMatrix(This,value);
3881+}
3882+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CIVisual_put_TransformMatrix(__x_ABI_CWindows_CUI_CComposition_CIVisual* This,__x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 value) {
3883+    return This->lpVtbl->put_TransformMatrix(This,value);
3884+}
3885+#endif
3886+#endif
3887+
3888+#endif
3889+
3890+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CIVisual_INTERFACE_DEFINED__ */
3891+
3892+/*****************************************************************************
3893+ * Compositor interface
3894+ */
3895+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__
3896+#define ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__
3897+
3898+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3899+#if defined(__cplusplus) && !defined(CINTERFACE)
3900+} /* extern "C" */
3901+namespace ABI {
3902+    namespace Windows {
3903+        namespace UI {
3904+            namespace Composition {
3905+                MIDL_INTERFACE("38e05581-1ad1-4f97-9666-402d76e4233b")
3906+                Compositor : public IUnknown
3907+                {
3908+                };
3909+            }
3910+        }
3911+    }
3912+}
3913+extern "C" {
3914+#ifdef __CRT_UUID_DECL
3915+__CRT_UUID_DECL(ABI::Windows::UI::Composition::Compositor, 0x38e05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3916+#endif
3917+#else
3918+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl {
3919+    BEGIN_INTERFACE
3920+
3921+    /*** IUnknown methods ***/
3922+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3923+        __x_ABI_CWindows_CUI_CComposition_CCompositor *This,
3924+        REFIID riid,
3925+        void **ppvObject);
3926+
3927+    ULONG (STDMETHODCALLTYPE *AddRef)(
3928+        __x_ABI_CWindows_CUI_CComposition_CCompositor *This);
3929+
3930+    ULONG (STDMETHODCALLTYPE *Release)(
3931+        __x_ABI_CWindows_CUI_CComposition_CCompositor *This);
3932+
3933+    END_INTERFACE
3934+} __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl;
3935+
3936+interface __x_ABI_CWindows_CUI_CComposition_CCompositor {
3937+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositorVtbl* lpVtbl;
3938+};
3939+
3940+#ifdef COBJMACROS
3941+#ifndef WIDL_C_INLINE_WRAPPERS
3942+/*** IUnknown methods ***/
3943+#define __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3944+#define __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
3945+#define __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(This) (This)->lpVtbl->Release(This)
3946+#else
3947+/*** IUnknown methods ***/
3948+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositor* This,REFIID riid,void **ppvObject) {
3949+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3950+}
3951+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) {
3952+    return This->lpVtbl->AddRef(This);
3953+}
3954+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositor_Release(__x_ABI_CWindows_CUI_CComposition_CCompositor* This) {
3955+    return This->lpVtbl->Release(This);
3956+}
3957+#endif
3958+#endif
3959+
3960+#endif
3961+
3962+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositor_INTERFACE_DEFINED__ */
3963+
3964+/*****************************************************************************
3965+ * CompositionPropertySet interface
3966+ */
3967+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__
3968+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__
3969+
3970+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
3971+#if defined(__cplusplus) && !defined(CINTERFACE)
3972+} /* extern "C" */
3973+namespace ABI {
3974+    namespace Windows {
3975+        namespace UI {
3976+            namespace Composition {
3977+                MIDL_INTERFACE("38e05582-1ad1-4f97-9666-402d76e4233b")
3978+                CompositionPropertySet : public IUnknown
3979+                {
3980+                };
3981+            }
3982+        }
3983+    }
3984+}
3985+extern "C" {
3986+#ifdef __CRT_UUID_DECL
3987+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionPropertySet, 0x38e05582, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
3988+#endif
3989+#else
3990+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl {
3991+    BEGIN_INTERFACE
3992+
3993+    /*** IUnknown methods ***/
3994+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3995+        __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This,
3996+        REFIID riid,
3997+        void **ppvObject);
3998+
3999+    ULONG (STDMETHODCALLTYPE *AddRef)(
4000+        __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This);
4001+
4002+    ULONG (STDMETHODCALLTYPE *Release)(
4003+        __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet *This);
4004+
4005+    END_INTERFACE
4006+} __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl;
4007+
4008+interface __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet {
4009+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySetVtbl* lpVtbl;
4010+};
4011+
4012+#ifdef COBJMACROS
4013+#ifndef WIDL_C_INLINE_WRAPPERS
4014+/*** IUnknown methods ***/
4015+#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4016+#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
4017+#define __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(This) (This)->lpVtbl->Release(This)
4018+#else
4019+/*** IUnknown methods ***/
4020+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This,REFIID riid,void **ppvObject) {
4021+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4022+}
4023+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) {
4024+    return This->lpVtbl->AddRef(This);
4025+}
4026+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet* This) {
4027+    return This->lpVtbl->Release(This);
4028+}
4029+#endif
4030+#endif
4031+
4032+#endif
4033+
4034+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet_INTERFACE_DEFINED__ */
4035+
4036+/*****************************************************************************
4037+ * CompositionAnimation interface
4038+ */
4039+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__
4040+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__
4041+
4042+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
4043+#if defined(__cplusplus) && !defined(CINTERFACE)
4044+} /* extern "C" */
4045+namespace ABI {
4046+    namespace Windows {
4047+        namespace UI {
4048+            namespace Composition {
4049+                MIDL_INTERFACE("38e05582-1ad2-4f97-9666-402d76e4233b")
4050+                CompositionAnimation : public IUnknown
4051+                {
4052+                };
4053+            }
4054+        }
4055+    }
4056+}
4057+extern "C" {
4058+#ifdef __CRT_UUID_DECL
4059+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionAnimation, 0x38e05582, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
4060+#endif
4061+#else
4062+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl {
4063+    BEGIN_INTERFACE
4064+
4065+    /*** IUnknown methods ***/
4066+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4067+        __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This,
4068+        REFIID riid,
4069+        void **ppvObject);
4070+
4071+    ULONG (STDMETHODCALLTYPE *AddRef)(
4072+        __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This);
4073+
4074+    ULONG (STDMETHODCALLTYPE *Release)(
4075+        __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *This);
4076+
4077+    END_INTERFACE
4078+} __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl;
4079+
4080+interface __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation {
4081+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionAnimationVtbl* lpVtbl;
4082+};
4083+
4084+#ifdef COBJMACROS
4085+#ifndef WIDL_C_INLINE_WRAPPERS
4086+/*** IUnknown methods ***/
4087+#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4088+#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
4089+#define __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(This) (This)->lpVtbl->Release(This)
4090+#else
4091+/*** IUnknown methods ***/
4092+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This,REFIID riid,void **ppvObject) {
4093+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4094+}
4095+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) {
4096+    return This->lpVtbl->AddRef(This);
4097+}
4098+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation* This) {
4099+    return This->lpVtbl->Release(This);
4100+}
4101+#endif
4102+#endif
4103+
4104+#endif
4105+
4106+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositionAnimation_INTERFACE_DEFINED__ */
4107+
4108+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
4109+#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_FWD_DEFINED__
4110+typedef interface __x_ABI_CWindows_CUI_CComposition_CICompositor __x_ABI_CWindows_CUI_CComposition_CICompositor;
4111+#ifdef __cplusplus
4112+namespace ABI {
4113+    namespace Windows {
4114+        namespace UI {
4115+            namespace Composition {
4116+                interface ICompositor;
4117+            }
4118+        }
4119+    }
4120+}
4121+#endif /* __cplusplus */
4122+#endif
4123+
4124+/*****************************************************************************
4125+ * ICompositionObject interface
4126+ */
4127+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__
4128+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__
4129+
4130+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed);
4131+#if defined(__cplusplus) && !defined(CINTERFACE)
4132+} /* extern "C" */
4133+namespace ABI {
4134+    namespace Windows {
4135+        namespace UI {
4136+            namespace Composition {
4137+                MIDL_INTERFACE("bcb4ad45-7609-4550-934f-16002a68fded")
4138+                ICompositionObject : public IInspectable
4139+                {
4140+                    virtual HRESULT STDMETHODCALLTYPE get_Compositor(
4141+                        ABI::Windows::UI::Composition::ICompositor **value) = 0;
4142+
4143+                    virtual HRESULT STDMETHODCALLTYPE get_Dispatcher(
4144+                        ABI::Windows::UI::Core::CoreDispatcher **value) = 0;
4145+
4146+                    virtual HRESULT STDMETHODCALLTYPE get_Properties(
4147+                        ABI::Windows::UI::Composition::CompositionPropertySet **value) = 0;
4148+
4149+                    virtual HRESULT STDMETHODCALLTYPE StartAnimation(
4150+                        HSTRING propertyName,
4151+                        ABI::Windows::UI::Composition::CompositionAnimation *animation) = 0;
4152+
4153+                    virtual HRESULT STDMETHODCALLTYPE StopAnimation(
4154+                        HSTRING propertyName) = 0;
4155+
4156+                };
4157+            }
4158+        }
4159+    }
4160+}
4161+extern "C" {
4162+#ifdef __CRT_UUID_DECL
4163+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionObject, 0xbcb4ad45, 0x7609, 0x4550, 0x93,0x4f, 0x16,0x00,0x2a,0x68,0xfd,0xed)
4164+#endif
4165+#else
4166+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl {
4167+    BEGIN_INTERFACE
4168+
4169+    /*** IUnknown methods ***/
4170+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4171+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4172+        REFIID riid,
4173+        void **ppvObject);
4174+
4175+    ULONG (STDMETHODCALLTYPE *AddRef)(
4176+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This);
4177+
4178+    ULONG (STDMETHODCALLTYPE *Release)(
4179+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This);
4180+
4181+    /*** IInspectable methods ***/
4182+    HRESULT (STDMETHODCALLTYPE *GetIids)(
4183+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4184+        ULONG *iidCount,
4185+        IID **iids);
4186+
4187+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
4188+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4189+        HSTRING *className);
4190+
4191+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
4192+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4193+        TrustLevel *trustLevel);
4194+
4195+    /*** ICompositionObject methods ***/
4196+    HRESULT (STDMETHODCALLTYPE *get_Compositor)(
4197+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4198+        __x_ABI_CWindows_CUI_CComposition_CICompositor **value);
4199+
4200+    HRESULT (STDMETHODCALLTYPE *get_Dispatcher)(
4201+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4202+        __x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value);
4203+
4204+    HRESULT (STDMETHODCALLTYPE *get_Properties)(
4205+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4206+        __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value);
4207+
4208+    HRESULT (STDMETHODCALLTYPE *StartAnimation)(
4209+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4210+        HSTRING propertyName,
4211+        __x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation);
4212+
4213+    HRESULT (STDMETHODCALLTYPE *StopAnimation)(
4214+        __x_ABI_CWindows_CUI_CComposition_CICompositionObject *This,
4215+        HSTRING propertyName);
4216+
4217+    END_INTERFACE
4218+} __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl;
4219+
4220+interface __x_ABI_CWindows_CUI_CComposition_CICompositionObject {
4221+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionObjectVtbl* lpVtbl;
4222+};
4223+
4224+#ifdef COBJMACROS
4225+#ifndef WIDL_C_INLINE_WRAPPERS
4226+/*** IUnknown methods ***/
4227+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4228+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(This) (This)->lpVtbl->AddRef(This)
4229+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(This) (This)->lpVtbl->Release(This)
4230+/*** IInspectable methods ***/
4231+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
4232+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
4233+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
4234+/*** ICompositionObject methods ***/
4235+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(This,value) (This)->lpVtbl->get_Compositor(This,value)
4236+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(This,value) (This)->lpVtbl->get_Dispatcher(This,value)
4237+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(This,value) (This)->lpVtbl->get_Properties(This,value)
4238+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(This,propertyName,animation) (This)->lpVtbl->StartAnimation(This,propertyName,animation)
4239+#define __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(This,propertyName) (This)->lpVtbl->StopAnimation(This,propertyName)
4240+#else
4241+/*** IUnknown methods ***/
4242+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,REFIID riid,void **ppvObject) {
4243+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4244+}
4245+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) {
4246+    return This->lpVtbl->AddRef(This);
4247+}
4248+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionObject_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This) {
4249+    return This->lpVtbl->Release(This);
4250+}
4251+/*** IInspectable methods ***/
4252+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,ULONG *iidCount,IID **iids) {
4253+    return This->lpVtbl->GetIids(This,iidCount,iids);
4254+}
4255+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING *className) {
4256+    return This->lpVtbl->GetRuntimeClassName(This,className);
4257+}
4258+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,TrustLevel *trustLevel) {
4259+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
4260+}
4261+/*** ICompositionObject methods ***/
4262+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Compositor(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CICompositor **value) {
4263+    return This->lpVtbl->get_Compositor(This,value);
4264+}
4265+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Dispatcher(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CCore_CCoreDispatcher **value) {
4266+    return This->lpVtbl->get_Dispatcher(This,value);
4267+}
4268+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_get_Properties(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **value) {
4269+    return This->lpVtbl->get_Properties(This,value);
4270+}
4271+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StartAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName,__x_ABI_CWindows_CUI_CComposition_CCompositionAnimation *animation) {
4272+    return This->lpVtbl->StartAnimation(This,propertyName,animation);
4273+}
4274+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionObject_StopAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositionObject* This,HSTRING propertyName) {
4275+    return This->lpVtbl->StopAnimation(This,propertyName);
4276+}
4277+#endif
4278+#endif
4279+
4280+#endif
4281+
4282+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositionObject_INTERFACE_DEFINED__ */
4283+
4284+/*****************************************************************************
4285+ * ColorKeyFrameAnimation interface
4286+ */
4287+#ifndef ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__
4288+#define ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__
4289+
4290+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
4291+#if defined(__cplusplus) && !defined(CINTERFACE)
4292+} /* extern "C" */
4293+namespace ABI {
4294+    namespace Windows {
4295+        namespace UI {
4296+            namespace Composition {
4297+                MIDL_INTERFACE("38e05682-1ad2-4f97-9666-402d76e4233b")
4298+                ColorKeyFrameAnimation : public IUnknown
4299+                {
4300+                };
4301+            }
4302+        }
4303+    }
4304+}
4305+extern "C" {
4306+#ifdef __CRT_UUID_DECL
4307+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ColorKeyFrameAnimation, 0x38e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
4308+#endif
4309+#else
4310+typedef struct __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl {
4311+    BEGIN_INTERFACE
4312+
4313+    /*** IUnknown methods ***/
4314+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4315+        __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This,
4316+        REFIID riid,
4317+        void **ppvObject);
4318+
4319+    ULONG (STDMETHODCALLTYPE *AddRef)(
4320+        __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This);
4321+
4322+    ULONG (STDMETHODCALLTYPE *Release)(
4323+        __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation *This);
4324+
4325+    END_INTERFACE
4326+} __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl;
4327+
4328+interface __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation {
4329+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimationVtbl* lpVtbl;
4330+};
4331+
4332+#ifdef COBJMACROS
4333+#ifndef WIDL_C_INLINE_WRAPPERS
4334+/*** IUnknown methods ***/
4335+#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4336+#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
4337+#define __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(This) (This)->lpVtbl->Release(This)
4338+#else
4339+/*** IUnknown methods ***/
4340+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This,REFIID riid,void **ppvObject) {
4341+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4342+}
4343+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_AddRef(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) {
4344+    return This->lpVtbl->AddRef(This);
4345+}
4346+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_Release(__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation* This) {
4347+    return This->lpVtbl->Release(This);
4348+}
4349+#endif
4350+#endif
4351+
4352+#endif
4353+
4354+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation_INTERFACE_DEFINED__ */
4355+
4356+/*****************************************************************************
4357+ * CompositionColorBrush interface
4358+ */
4359+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__
4360+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__
4361+
4362+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
4363+#if defined(__cplusplus) && !defined(CINTERFACE)
4364+} /* extern "C" */
4365+namespace ABI {
4366+    namespace Windows {
4367+        namespace UI {
4368+            namespace Composition {
4369+                MIDL_INTERFACE("33e05682-1ad2-4f97-9666-402d76e4233b")
4370+                CompositionColorBrush : public IUnknown
4371+                {
4372+                };
4373+            }
4374+        }
4375+    }
4376+}
4377+extern "C" {
4378+#ifdef __CRT_UUID_DECL
4379+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CompositionColorBrush, 0x33e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
4380+#endif
4381+#else
4382+typedef struct __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl {
4383+    BEGIN_INTERFACE
4384+
4385+    /*** IUnknown methods ***/
4386+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4387+        __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This,
4388+        REFIID riid,
4389+        void **ppvObject);
4390+
4391+    ULONG (STDMETHODCALLTYPE *AddRef)(
4392+        __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This);
4393+
4394+    ULONG (STDMETHODCALLTYPE *Release)(
4395+        __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush *This);
4396+
4397+    END_INTERFACE
4398+} __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl;
4399+
4400+interface __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush {
4401+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrushVtbl* lpVtbl;
4402+};
4403+
4404+#ifdef COBJMACROS
4405+#ifndef WIDL_C_INLINE_WRAPPERS
4406+/*** IUnknown methods ***/
4407+#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4408+#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(This) (This)->lpVtbl->AddRef(This)
4409+#define __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(This) (This)->lpVtbl->Release(This)
4410+#else
4411+/*** IUnknown methods ***/
4412+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This,REFIID riid,void **ppvObject) {
4413+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4414+}
4415+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_AddRef(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) {
4416+    return This->lpVtbl->AddRef(This);
4417+}
4418+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_Release(__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush* This) {
4419+    return This->lpVtbl->Release(This);
4420+}
4421+#endif
4422+#endif
4423+
4424+#endif
4425+
4426+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush_INTERFACE_DEFINED__ */
4427+
4428+/*****************************************************************************
4429+ * CubicBezierEasingFunction interface
4430+ */
4431+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__
4432+#define ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__
4433+
4434+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
4435+#if defined(__cplusplus) && !defined(CINTERFACE)
4436+} /* extern "C" */
4437+namespace ABI {
4438+    namespace Windows {
4439+        namespace UI {
4440+            namespace Composition {
4441+                MIDL_INTERFACE("43e05682-1ad2-4f97-9666-402d76e4233b")
4442+                CubicBezierEasingFunction : public IUnknown
4443+                {
4444+                };
4445+            }
4446+        }
4447+    }
4448+}
4449+extern "C" {
4450+#ifdef __CRT_UUID_DECL
4451+__CRT_UUID_DECL(ABI::Windows::UI::Composition::CubicBezierEasingFunction, 0x43e05682, 0x1ad2, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
4452+#endif
4453+#else
4454+typedef struct __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl {
4455+    BEGIN_INTERFACE
4456+
4457+    /*** IUnknown methods ***/
4458+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4459+        __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This,
4460+        REFIID riid,
4461+        void **ppvObject);
4462+
4463+    ULONG (STDMETHODCALLTYPE *AddRef)(
4464+        __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This);
4465+
4466+    ULONG (STDMETHODCALLTYPE *Release)(
4467+        __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction *This);
4468+
4469+    END_INTERFACE
4470+} __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl;
4471+
4472+interface __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction {
4473+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunctionVtbl* lpVtbl;
4474+};
4475+
4476+#ifdef COBJMACROS
4477+#ifndef WIDL_C_INLINE_WRAPPERS
4478+/*** IUnknown methods ***/
4479+#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4480+#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(This) (This)->lpVtbl->AddRef(This)
4481+#define __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(This) (This)->lpVtbl->Release(This)
4482+#else
4483+/*** IUnknown methods ***/
4484+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This,REFIID riid,void **ppvObject) {
4485+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4486+}
4487+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_AddRef(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) {
4488+    return This->lpVtbl->AddRef(This);
4489+}
4490+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_Release(__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction* This) {
4491+    return This->lpVtbl->Release(This);
4492+}
4493+#endif
4494+#endif
4495+
4496+#endif
4497+
4498+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction_INTERFACE_DEFINED__ */
4499+
4500+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__
4501+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory_FWD_DEFINED__
4502+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory;
4503+#ifdef __cplusplus
4504+namespace ABI {
4505+    namespace Windows {
4506+        namespace UI {
4507+            namespace Composition {
4508+                interface CompositionEffectFactory;
4509+            }
4510+        }
4511+    }
4512+}
4513+#endif /* __cplusplus */
4514+#endif
4515+
4516+#ifndef ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__
4517+#define ____x_ABI_CWindows_CUI_CComposition_CExpressionAnimation_FWD_DEFINED__
4518+typedef interface __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation;
4519+#ifdef __cplusplus
4520+namespace ABI {
4521+    namespace Windows {
4522+        namespace UI {
4523+            namespace Composition {
4524+                interface ExpressionAnimation;
4525+            }
4526+        }
4527+    }
4528+}
4529+#endif /* __cplusplus */
4530+#endif
4531+
4532+#ifndef ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__
4533+#define ____x_ABI_CWindows_CUI_CComposition_CInsetClip_FWD_DEFINED__
4534+typedef interface __x_ABI_CWindows_CUI_CComposition_CInsetClip __x_ABI_CWindows_CUI_CComposition_CInsetClip;
4535+#ifdef __cplusplus
4536+namespace ABI {
4537+    namespace Windows {
4538+        namespace UI {
4539+            namespace Composition {
4540+                interface InsetClip;
4541+            }
4542+        }
4543+    }
4544+}
4545+#endif /* __cplusplus */
4546+#endif
4547+
4548+#ifndef ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__
4549+#define ____x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction_FWD_DEFINED__
4550+typedef interface __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction;
4551+#ifdef __cplusplus
4552+namespace ABI {
4553+    namespace Windows {
4554+        namespace UI {
4555+            namespace Composition {
4556+                interface LinearEasingFunction;
4557+            }
4558+        }
4559+    }
4560+}
4561+#endif /* __cplusplus */
4562+#endif
4563+
4564+#ifndef ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__
4565+#define ____x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation_FWD_DEFINED__
4566+typedef interface __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation;
4567+#ifdef __cplusplus
4568+namespace ABI {
4569+    namespace Windows {
4570+        namespace UI {
4571+            namespace Composition {
4572+                interface ScalarKeyFrameAnimation;
4573+            }
4574+        }
4575+    }
4576+}
4577+#endif /* __cplusplus */
4578+#endif
4579+
4580+#ifndef ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__
4581+#define ____x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation_FWD_DEFINED__
4582+typedef interface __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation;
4583+#ifdef __cplusplus
4584+namespace ABI {
4585+    namespace Windows {
4586+        namespace UI {
4587+            namespace Composition {
4588+                interface QuaternionKeyFrameAnimation;
4589+            }
4590+        }
4591+    }
4592+}
4593+#endif /* __cplusplus */
4594+#endif
4595+
4596+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__
4597+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch_FWD_DEFINED__
4598+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch;
4599+#ifdef __cplusplus
4600+namespace ABI {
4601+    namespace Windows {
4602+        namespace UI {
4603+            namespace Composition {
4604+                interface CompositionScopedBatch;
4605+            }
4606+        }
4607+    }
4608+}
4609+#endif /* __cplusplus */
4610+#endif
4611+
4612+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__
4613+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush_FWD_DEFINED__
4614+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush;
4615+#ifdef __cplusplus
4616+namespace ABI {
4617+    namespace Windows {
4618+        namespace UI {
4619+            namespace Composition {
4620+                interface CompositionSurfaceBrush;
4621+            }
4622+        }
4623+    }
4624+}
4625+#endif /* __cplusplus */
4626+#endif
4627+
4628+#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__
4629+#define ____x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation_FWD_DEFINED__
4630+typedef interface __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation;
4631+#ifdef __cplusplus
4632+namespace ABI {
4633+    namespace Windows {
4634+        namespace UI {
4635+            namespace Composition {
4636+                interface Vector2KeyFrameAnimation;
4637+            }
4638+        }
4639+    }
4640+}
4641+#endif /* __cplusplus */
4642+#endif
4643+
4644+#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__
4645+#define ____x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation_FWD_DEFINED__
4646+typedef interface __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation;
4647+#ifdef __cplusplus
4648+namespace ABI {
4649+    namespace Windows {
4650+        namespace UI {
4651+            namespace Composition {
4652+                interface Vector3KeyFrameAnimation;
4653+            }
4654+        }
4655+    }
4656+}
4657+#endif /* __cplusplus */
4658+#endif
4659+
4660+#ifndef ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__
4661+#define ____x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation_FWD_DEFINED__
4662+typedef interface __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation;
4663+#ifdef __cplusplus
4664+namespace ABI {
4665+    namespace Windows {
4666+        namespace UI {
4667+            namespace Composition {
4668+                interface Vector4KeyFrameAnimation;
4669+            }
4670+        }
4671+    }
4672+}
4673+#endif /* __cplusplus */
4674+#endif
4675+
4676+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__
4677+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionTarget_FWD_DEFINED__
4678+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionTarget __x_ABI_CWindows_CUI_CComposition_CCompositionTarget;
4679+#ifdef __cplusplus
4680+namespace ABI {
4681+    namespace Windows {
4682+        namespace UI {
4683+            namespace Composition {
4684+                interface CompositionTarget;
4685+            }
4686+        }
4687+    }
4688+}
4689+#endif /* __cplusplus */
4690+#endif
4691+
4692+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__
4693+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch_FWD_DEFINED__
4694+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch;
4695+#ifdef __cplusplus
4696+namespace ABI {
4697+    namespace Windows {
4698+        namespace UI {
4699+            namespace Composition {
4700+                interface CompositionCommitBatch;
4701+            }
4702+        }
4703+    }
4704+}
4705+#endif /* __cplusplus */
4706+#endif
4707+
4708+#ifndef ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__
4709+#define ____x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface_FWD_DEFINED__
4710+typedef interface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface;
4711+#ifdef __cplusplus
4712+namespace ABI {
4713+    namespace Windows {
4714+        namespace UI {
4715+            namespace Composition {
4716+                interface CompositionDrawingSurface;
4717+            }
4718+        }
4719+    }
4720+}
4721+#endif /* __cplusplus */
4722+#endif
4723+
4724+/*****************************************************************************
4725+ * ICompositor interface
4726+ */
4727+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__
4728+#define ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__
4729+
4730+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8);
4731+#if defined(__cplusplus) && !defined(CINTERFACE)
4732+} /* extern "C" */
4733+namespace ABI {
4734+    namespace Windows {
4735+        namespace UI {
4736+            namespace Composition {
4737+                MIDL_INTERFACE("b403ca50-7f8c-4e83-985f-cc45060036d8")
4738+                ICompositor : public IInspectable
4739+                {
4740+                    virtual HRESULT STDMETHODCALLTYPE CreateColorKeyFrameAnimation(
4741+                        ABI::Windows::UI::Composition::ColorKeyFrameAnimation **result) = 0;
4742+
4743+                    virtual HRESULT STDMETHODCALLTYPE CreateColorBrush(
4744+                        ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0;
4745+
4746+                    virtual HRESULT STDMETHODCALLTYPE CreateColorBrushWithColor(
4747+                        ABI::Windows::UI::Color color,
4748+                        ABI::Windows::UI::Composition::CompositionColorBrush **result) = 0;
4749+
4750+                    virtual HRESULT STDMETHODCALLTYPE CreateContainerVisual(
4751+                        ABI::Windows::UI::Composition::ContainerVisual **result) = 0;
4752+
4753+                    virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierEasingFunction(
4754+                        ABI::Windows::Foundation::Numerics::Vector2 controlPoint1,
4755+                        ABI::Windows::Foundation::Numerics::Vector2 controlPoint2,
4756+                        ABI::Windows::UI::Composition::CubicBezierEasingFunction **result) = 0;
4757+
4758+                    virtual HRESULT STDMETHODCALLTYPE CreateEffectFactory(
4759+                        ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect,
4760+                        ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0;
4761+
4762+                    virtual HRESULT STDMETHODCALLTYPE CreateEffectFactoryWithProperties(
4763+                        ABI::Windows::Graphics::Effects::IGraphicsEffect *graphicsEffect,
4764+                        int *animatableProperties,
4765+                        ABI::Windows::UI::Composition::CompositionEffectFactory **result) = 0;
4766+
4767+                    virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimation(
4768+                        ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0;
4769+
4770+                    virtual HRESULT STDMETHODCALLTYPE CreateExpressionAnimationWithExpression(
4771+                        HSTRING expression,
4772+                        ABI::Windows::UI::Composition::ExpressionAnimation **result) = 0;
4773+
4774+                    virtual HRESULT STDMETHODCALLTYPE CreateInsetClip(
4775+                        ABI::Windows::UI::Composition::InsetClip **result) = 0;
4776+
4777+                    virtual HRESULT STDMETHODCALLTYPE CreateInsetClipWithInsets(
4778+                        FLOAT leftInset,
4779+                        FLOAT topInset,
4780+                        FLOAT rightInset,
4781+                        FLOAT bottomInset,
4782+                        ABI::Windows::UI::Composition::InsetClip **result) = 0;
4783+
4784+                    virtual HRESULT STDMETHODCALLTYPE CreateLinearEasingFunction(
4785+                        ABI::Windows::UI::Composition::LinearEasingFunction **result) = 0;
4786+
4787+                    virtual HRESULT STDMETHODCALLTYPE CreatePropertySet(
4788+                        ABI::Windows::UI::Composition::CompositionPropertySet **result) = 0;
4789+
4790+                    virtual HRESULT STDMETHODCALLTYPE CreateQuaternionKeyFrameAnimation(
4791+                        ABI::Windows::UI::Composition::QuaternionKeyFrameAnimation **result) = 0;
4792+
4793+                    virtual HRESULT STDMETHODCALLTYPE CreateScalarKeyFrameAnimation(
4794+                        ABI::Windows::UI::Composition::ScalarKeyFrameAnimation **result) = 0;
4795+
4796+                    virtual HRESULT STDMETHODCALLTYPE CreateScopedBatch(
4797+                        ABI::Windows::UI::Composition::CompositionBatchTypes batchType,
4798+                        ABI::Windows::UI::Composition::CompositionScopedBatch **result) = 0;
4799+
4800+                    virtual HRESULT STDMETHODCALLTYPE CreateSpriteVisual(
4801+                        ABI::Windows::UI::Composition::SpriteVisual **result) = 0;
4802+
4803+                    virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrush(
4804+                        ABI::Windows::UI::Composition::CompositionSurfaceBrush **result) = 0;
4805+
4806+                    virtual HRESULT STDMETHODCALLTYPE CreateSurfaceBrushWithSurface(
4807+                        ABI::Windows::UI::Composition::ICompositionSurface *surface,
4808+                        ABI::Windows::UI::Composition::ICompositionSurfaceBrush **result) = 0;
4809+
4810+                    virtual HRESULT STDMETHODCALLTYPE CreateTargetForCurrentView(
4811+                        ABI::Windows::UI::Composition::CompositionTarget **result) = 0;
4812+
4813+                    virtual HRESULT STDMETHODCALLTYPE CreateVector2KeyFrameAnimation(
4814+                        ABI::Windows::UI::Composition::Vector2KeyFrameAnimation **result) = 0;
4815+
4816+                    virtual HRESULT STDMETHODCALLTYPE CreateVector3KeyFrameAnimation(
4817+                        ABI::Windows::UI::Composition::Vector3KeyFrameAnimation **result) = 0;
4818+
4819+                    virtual HRESULT STDMETHODCALLTYPE CreateVector4KeyFrameAnimation(
4820+                        ABI::Windows::UI::Composition::Vector4KeyFrameAnimation **result) = 0;
4821+
4822+                    virtual HRESULT STDMETHODCALLTYPE GetCommitBatch(
4823+                        ABI::Windows::UI::Composition::CompositionBatchTypes batchType,
4824+                        ABI::Windows::UI::Composition::CompositionCommitBatch **result) = 0;
4825+
4826+                };
4827+            }
4828+        }
4829+    }
4830+}
4831+extern "C" {
4832+#ifdef __CRT_UUID_DECL
4833+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositor, 0xb403ca50, 0x7f8c, 0x4e83, 0x98,0x5f, 0xcc,0x45,0x06,0x00,0x36,0xd8)
4834+#endif
4835+#else
4836+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl {
4837+    BEGIN_INTERFACE
4838+
4839+    /*** IUnknown methods ***/
4840+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4841+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4842+        REFIID riid,
4843+        void **ppvObject);
4844+
4845+    ULONG (STDMETHODCALLTYPE *AddRef)(
4846+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This);
4847+
4848+    ULONG (STDMETHODCALLTYPE *Release)(
4849+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This);
4850+
4851+    /*** IInspectable methods ***/
4852+    HRESULT (STDMETHODCALLTYPE *GetIids)(
4853+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4854+        ULONG *iidCount,
4855+        IID **iids);
4856+
4857+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
4858+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4859+        HSTRING *className);
4860+
4861+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
4862+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4863+        TrustLevel *trustLevel);
4864+
4865+    /*** ICompositor methods ***/
4866+    HRESULT (STDMETHODCALLTYPE *CreateColorKeyFrameAnimation)(
4867+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4868+        __x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result);
4869+
4870+    HRESULT (STDMETHODCALLTYPE *CreateColorBrush)(
4871+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4872+        __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result);
4873+
4874+    HRESULT (STDMETHODCALLTYPE *CreateColorBrushWithColor)(
4875+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4876+        __x_ABI_CWindows_CUI_CColor color,
4877+        __x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result);
4878+
4879+    HRESULT (STDMETHODCALLTYPE *CreateContainerVisual)(
4880+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4881+        __x_ABI_CWindows_CUI_CComposition_CContainerVisual **result);
4882+
4883+    HRESULT (STDMETHODCALLTYPE *CreateCubicBezierEasingFunction)(
4884+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4885+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1,
4886+        __x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2,
4887+        __x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result);
4888+
4889+    HRESULT (STDMETHODCALLTYPE *CreateEffectFactory)(
4890+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4891+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,
4892+        __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result);
4893+
4894+    HRESULT (STDMETHODCALLTYPE *CreateEffectFactoryWithProperties)(
4895+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4896+        __x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,
4897+        int *animatableProperties,
4898+        __x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result);
4899+
4900+    HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimation)(
4901+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4902+        __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result);
4903+
4904+    HRESULT (STDMETHODCALLTYPE *CreateExpressionAnimationWithExpression)(
4905+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4906+        HSTRING expression,
4907+        __x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result);
4908+
4909+    HRESULT (STDMETHODCALLTYPE *CreateInsetClip)(
4910+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4911+        __x_ABI_CWindows_CUI_CComposition_CInsetClip **result);
4912+
4913+    HRESULT (STDMETHODCALLTYPE *CreateInsetClipWithInsets)(
4914+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4915+        FLOAT leftInset,
4916+        FLOAT topInset,
4917+        FLOAT rightInset,
4918+        FLOAT bottomInset,
4919+        __x_ABI_CWindows_CUI_CComposition_CInsetClip **result);
4920+
4921+    HRESULT (STDMETHODCALLTYPE *CreateLinearEasingFunction)(
4922+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4923+        __x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result);
4924+
4925+    HRESULT (STDMETHODCALLTYPE *CreatePropertySet)(
4926+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4927+        __x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result);
4928+
4929+    HRESULT (STDMETHODCALLTYPE *CreateQuaternionKeyFrameAnimation)(
4930+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4931+        __x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result);
4932+
4933+    HRESULT (STDMETHODCALLTYPE *CreateScalarKeyFrameAnimation)(
4934+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4935+        __x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result);
4936+
4937+    HRESULT (STDMETHODCALLTYPE *CreateScopedBatch)(
4938+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4939+        __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,
4940+        __x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result);
4941+
4942+    HRESULT (STDMETHODCALLTYPE *CreateSpriteVisual)(
4943+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4944+        __x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result);
4945+
4946+    HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrush)(
4947+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4948+        __x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result);
4949+
4950+    HRESULT (STDMETHODCALLTYPE *CreateSurfaceBrushWithSurface)(
4951+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4952+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface,
4953+        __x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result);
4954+
4955+    HRESULT (STDMETHODCALLTYPE *CreateTargetForCurrentView)(
4956+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4957+        __x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result);
4958+
4959+    HRESULT (STDMETHODCALLTYPE *CreateVector2KeyFrameAnimation)(
4960+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4961+        __x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result);
4962+
4963+    HRESULT (STDMETHODCALLTYPE *CreateVector3KeyFrameAnimation)(
4964+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4965+        __x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result);
4966+
4967+    HRESULT (STDMETHODCALLTYPE *CreateVector4KeyFrameAnimation)(
4968+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4969+        __x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result);
4970+
4971+    HRESULT (STDMETHODCALLTYPE *GetCommitBatch)(
4972+        __x_ABI_CWindows_CUI_CComposition_CICompositor *This,
4973+        __x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,
4974+        __x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result);
4975+
4976+    END_INTERFACE
4977+} __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl;
4978+
4979+interface __x_ABI_CWindows_CUI_CComposition_CICompositor {
4980+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositorVtbl* lpVtbl;
4981+};
4982+
4983+#ifdef COBJMACROS
4984+#ifndef WIDL_C_INLINE_WRAPPERS
4985+/*** IUnknown methods ***/
4986+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4987+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
4988+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(This) (This)->lpVtbl->Release(This)
4989+/*** IInspectable methods ***/
4990+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
4991+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
4992+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
4993+/*** ICompositor methods ***/
4994+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(This,result) (This)->lpVtbl->CreateColorKeyFrameAnimation(This,result)
4995+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(This,result) (This)->lpVtbl->CreateColorBrush(This,result)
4996+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(This,color,result) (This)->lpVtbl->CreateColorBrushWithColor(This,color,result)
4997+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(This,result) (This)->lpVtbl->CreateContainerVisual(This,result)
4998+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result) (This)->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result)
4999+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(This,graphicsEffect,result) (This)->lpVtbl->CreateEffectFactory(This,graphicsEffect,result)
5000+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result) (This)->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result)
5001+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(This,result) (This)->lpVtbl->CreateExpressionAnimation(This,result)
5002+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(This,expression,result) (This)->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result)
5003+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(This,result) (This)->lpVtbl->CreateInsetClip(This,result)
5004+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result) (This)->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result)
5005+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(This,result) (This)->lpVtbl->CreateLinearEasingFunction(This,result)
5006+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(This,result) (This)->lpVtbl->CreatePropertySet(This,result)
5007+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(This,result) (This)->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result)
5008+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(This,result) (This)->lpVtbl->CreateScalarKeyFrameAnimation(This,result)
5009+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(This,batchType,result) (This)->lpVtbl->CreateScopedBatch(This,batchType,result)
5010+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(This,result) (This)->lpVtbl->CreateSpriteVisual(This,result)
5011+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(This,result) (This)->lpVtbl->CreateSurfaceBrush(This,result)
5012+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(This,surface,result) (This)->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result)
5013+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(This,result) (This)->lpVtbl->CreateTargetForCurrentView(This,result)
5014+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector2KeyFrameAnimation(This,result)
5015+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector3KeyFrameAnimation(This,result)
5016+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(This,result) (This)->lpVtbl->CreateVector4KeyFrameAnimation(This,result)
5017+#define __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(This,batchType,result) (This)->lpVtbl->GetCommitBatch(This,batchType,result)
5018+#else
5019+/*** IUnknown methods ***/
5020+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,REFIID riid,void **ppvObject) {
5021+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5022+}
5023+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) {
5024+    return This->lpVtbl->AddRef(This);
5025+}
5026+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositor_Release(__x_ABI_CWindows_CUI_CComposition_CICompositor* This) {
5027+    return This->lpVtbl->Release(This);
5028+}
5029+/*** IInspectable methods ***/
5030+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,ULONG *iidCount,IID **iids) {
5031+    return This->lpVtbl->GetIids(This,iidCount,iids);
5032+}
5033+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING *className) {
5034+    return This->lpVtbl->GetRuntimeClassName(This,className);
5035+}
5036+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,TrustLevel *trustLevel) {
5037+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
5038+}
5039+/*** ICompositor methods ***/
5040+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CColorKeyFrameAnimation **result) {
5041+    return This->lpVtbl->CreateColorKeyFrameAnimation(This,result);
5042+}
5043+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) {
5044+    return This->lpVtbl->CreateColorBrush(This,result);
5045+}
5046+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateColorBrushWithColor(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CColor color,__x_ABI_CWindows_CUI_CComposition_CCompositionColorBrush **result) {
5047+    return This->lpVtbl->CreateColorBrushWithColor(This,color,result);
5048+}
5049+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateContainerVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CContainerVisual **result) {
5050+    return This->lpVtbl->CreateContainerVisual(This,result);
5051+}
5052+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateCubicBezierEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint1,__x_ABI_CWindows_CFoundation_CNumerics_CVector2 controlPoint2,__x_ABI_CWindows_CUI_CComposition_CCubicBezierEasingFunction **result) {
5053+    return This->lpVtbl->CreateCubicBezierEasingFunction(This,controlPoint1,controlPoint2,result);
5054+}
5055+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactory(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) {
5056+    return This->lpVtbl->CreateEffectFactory(This,graphicsEffect,result);
5057+}
5058+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateEffectFactoryWithProperties(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CGraphics_CEffects_CIGraphicsEffect *graphicsEffect,int *animatableProperties,__x_ABI_CWindows_CUI_CComposition_CCompositionEffectFactory **result) {
5059+    return This->lpVtbl->CreateEffectFactoryWithProperties(This,graphicsEffect,animatableProperties,result);
5060+}
5061+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) {
5062+    return This->lpVtbl->CreateExpressionAnimation(This,result);
5063+}
5064+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateExpressionAnimationWithExpression(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,HSTRING expression,__x_ABI_CWindows_CUI_CComposition_CExpressionAnimation **result) {
5065+    return This->lpVtbl->CreateExpressionAnimationWithExpression(This,expression,result);
5066+}
5067+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClip(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) {
5068+    return This->lpVtbl->CreateInsetClip(This,result);
5069+}
5070+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateInsetClipWithInsets(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,FLOAT leftInset,FLOAT topInset,FLOAT rightInset,FLOAT bottomInset,__x_ABI_CWindows_CUI_CComposition_CInsetClip **result) {
5071+    return This->lpVtbl->CreateInsetClipWithInsets(This,leftInset,topInset,rightInset,bottomInset,result);
5072+}
5073+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateLinearEasingFunction(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CLinearEasingFunction **result) {
5074+    return This->lpVtbl->CreateLinearEasingFunction(This,result);
5075+}
5076+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreatePropertySet(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionPropertySet **result) {
5077+    return This->lpVtbl->CreatePropertySet(This,result);
5078+}
5079+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateQuaternionKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CQuaternionKeyFrameAnimation **result) {
5080+    return This->lpVtbl->CreateQuaternionKeyFrameAnimation(This,result);
5081+}
5082+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScalarKeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CScalarKeyFrameAnimation **result) {
5083+    return This->lpVtbl->CreateScalarKeyFrameAnimation(This,result);
5084+}
5085+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateScopedBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionScopedBatch **result) {
5086+    return This->lpVtbl->CreateScopedBatch(This,batchType,result);
5087+}
5088+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSpriteVisual(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CSpriteVisual **result) {
5089+    return This->lpVtbl->CreateSpriteVisual(This,result);
5090+}
5091+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrush(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionSurfaceBrush **result) {
5092+    return This->lpVtbl->CreateSurfaceBrush(This,result);
5093+}
5094+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateSurfaceBrushWithSurface(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CICompositionSurface *surface,__x_ABI_CWindows_CUI_CComposition_CICompositionSurfaceBrush **result) {
5095+    return This->lpVtbl->CreateSurfaceBrushWithSurface(This,surface,result);
5096+}
5097+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateTargetForCurrentView(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionTarget **result) {
5098+    return This->lpVtbl->CreateTargetForCurrentView(This,result);
5099+}
5100+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector2KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector2KeyFrameAnimation **result) {
5101+    return This->lpVtbl->CreateVector2KeyFrameAnimation(This,result);
5102+}
5103+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector3KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector3KeyFrameAnimation **result) {
5104+    return This->lpVtbl->CreateVector3KeyFrameAnimation(This,result);
5105+}
5106+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_CreateVector4KeyFrameAnimation(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CVector4KeyFrameAnimation **result) {
5107+    return This->lpVtbl->CreateVector4KeyFrameAnimation(This,result);
5108+}
5109+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositor_GetCommitBatch(__x_ABI_CWindows_CUI_CComposition_CICompositor* This,__x_ABI_CWindows_CUI_CComposition_CCompositionBatchTypes batchType,__x_ABI_CWindows_CUI_CComposition_CCompositionCommitBatch **result) {
5110+    return This->lpVtbl->GetCommitBatch(This,batchType,result);
5111+}
5112+#endif
5113+#endif
5114+
5115+#endif
5116+
5117+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositor_INTERFACE_DEFINED__ */
5118+
5119+/*****************************************************************************
5120+ * ICompositionGraphicsDevice interface
5121+ */
5122+#ifndef ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__
5123+#define ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__
5124+
5125+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95);
5126+#if defined(__cplusplus) && !defined(CINTERFACE)
5127+} /* extern "C" */
5128+namespace ABI {
5129+    namespace Windows {
5130+        namespace UI {
5131+            namespace Composition {
5132+                MIDL_INTERFACE("fb22c6e1-80a2-4667-9936-dbeaf6eefe95")
5133+                ICompositionGraphicsDevice : public IInspectable
5134+                {
5135+                    virtual HRESULT STDMETHODCALLTYPE CreateDrawingSurface(
5136+                        ABI::Windows::Foundation::Size sizePixels,
5137+                        ABI::Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat,
5138+                        ABI::Windows::Graphics::DirectX::DirectXAlphaMode alphaMode,
5139+                        ABI::Windows::UI::Composition::CompositionDrawingSurface **result) = 0;
5140+
5141+                    virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced(
5142+                        int *handler,
5143+                        int *token) = 0;
5144+
5145+                    virtual HRESULT STDMETHODCALLTYPE RenderingDeviceReplaced(
5146+                        int token) = 0;
5147+
5148+                };
5149+            }
5150+        }
5151+    }
5152+}
5153+extern "C" {
5154+#ifdef __CRT_UUID_DECL
5155+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositionGraphicsDevice, 0xfb22c6e1, 0x80a2, 0x4667, 0x99,0x36, 0xdb,0xea,0xf6,0xee,0xfe,0x95)
5156+#endif
5157+#else
5158+typedef struct __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl {
5159+    BEGIN_INTERFACE
5160+
5161+    /*** IUnknown methods ***/
5162+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5163+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5164+        REFIID riid,
5165+        void **ppvObject);
5166+
5167+    ULONG (STDMETHODCALLTYPE *AddRef)(
5168+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This);
5169+
5170+    ULONG (STDMETHODCALLTYPE *Release)(
5171+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This);
5172+
5173+    /*** IInspectable methods ***/
5174+    HRESULT (STDMETHODCALLTYPE *GetIids)(
5175+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5176+        ULONG *iidCount,
5177+        IID **iids);
5178+
5179+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
5180+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5181+        HSTRING *className);
5182+
5183+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
5184+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5185+        TrustLevel *trustLevel);
5186+
5187+    /*** ICompositionGraphicsDevice methods ***/
5188+    HRESULT (STDMETHODCALLTYPE *CreateDrawingSurface)(
5189+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5190+        __x_ABI_CWindows_CFoundation_CSize sizePixels,
5191+        __x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat,
5192+        __x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode,
5193+        __x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result);
5194+
5195+    HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)(
5196+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5197+        int *handler,
5198+        int *token);
5199+
5200+    HRESULT (STDMETHODCALLTYPE *RenderingDeviceReplaced)(
5201+        __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice *This,
5202+        int token);
5203+
5204+    END_INTERFACE
5205+} __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl;
5206+
5207+interface __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice {
5208+    CONST_VTBL __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDeviceVtbl* lpVtbl;
5209+};
5210+
5211+#ifdef COBJMACROS
5212+#ifndef WIDL_C_INLINE_WRAPPERS
5213+/*** IUnknown methods ***/
5214+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5215+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
5216+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(This) (This)->lpVtbl->Release(This)
5217+/*** IInspectable methods ***/
5218+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
5219+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
5220+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
5221+/*** ICompositionGraphicsDevice methods ***/
5222+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result) (This)->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result)
5223+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,handler,token) (This)->lpVtbl->RenderingDeviceReplaced(This,handler,token)
5224+#define __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(This,token) (This)->lpVtbl->RenderingDeviceReplaced(This,token)
5225+#else
5226+/*** IUnknown methods ***/
5227+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_QueryInterface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,REFIID riid,void **ppvObject) {
5228+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5229+}
5230+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_AddRef(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) {
5231+    return This->lpVtbl->AddRef(This);
5232+}
5233+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_Release(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This) {
5234+    return This->lpVtbl->Release(This);
5235+}
5236+/*** IInspectable methods ***/
5237+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetIids(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,ULONG *iidCount,IID **iids) {
5238+    return This->lpVtbl->GetIids(This,iidCount,iids);
5239+}
5240+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetRuntimeClassName(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,HSTRING *className) {
5241+    return This->lpVtbl->GetRuntimeClassName(This,className);
5242+}
5243+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_GetTrustLevel(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,TrustLevel *trustLevel) {
5244+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
5245+}
5246+/*** ICompositionGraphicsDevice methods ***/
5247+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_CreateDrawingSurface(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,__x_ABI_CWindows_CFoundation_CSize sizePixels,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXPixelFormat pixelFormat,__x_ABI_CWindows_CGraphics_CDirectX_CDirectXAlphaMode alphaMode,__x_ABI_CWindows_CUI_CComposition_CCompositionDrawingSurface **result) {
5248+    return This->lpVtbl->CreateDrawingSurface(This,sizePixels,pixelFormat,alphaMode,result);
5249+}
5250+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int *handler,int *token) {
5251+    return This->lpVtbl->RenderingDeviceReplaced(This,handler,token);
5252+}
5253+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_RenderingDeviceReplaced(__x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice* This,int token) {
5254+    return This->lpVtbl->RenderingDeviceReplaced(This,token);
5255+}
5256+#endif
5257+#endif
5258+
5259+#endif
5260+
5261+#endif  /* ____x_ABI_CWindows_CUI_CComposition_CICompositionGraphicsDevice_INTERFACE_DEFINED__ */
5262+
5263+extern const __declspec(selectany) WCHAR RuntimeClass_Windows_UI_Composition_SpriteVisual[] = L"Windows.UI.Composition.SpriteVisual";
5264+/* Begin additional prototypes for all interfaces */
5265+
5266+ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
5267+unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
5268+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
5269+void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
5270+
5271+/* End additional prototypes */
5272+
5273+#ifdef __cplusplus
5274+}
5275+#endif
5276+
5277+#endif /* __windows_ui_composition_h__ */
5278diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
5279new file mode 100644
5280index 00000000..a82afdf1
5281--- /dev/null
5282+++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
5283@@ -0,0 +1,31 @@
5284+#include <windows.ui.composition.h>
5285+
5286+namespace ABI {
5287+namespace Windows {
5288+namespace UI {
5289+namespace Composition {
5290+
5291+#undef INTERFACE
5292+#define INTERFACE ICompositorInterop
5293+    DECLARE_INTERFACE_IID_(ICompositorInterop, IUnknown, "25297d5c-3ad4-4c9c-b5cf-e36a38512330")
5294+    {
5295+        IFACEMETHOD(CreateCompositionSurfaceForHandle)(
5296+            HANDLE swapChain,
5297+            ICompositionSurface **result) PURE;
5298+        IFACEMETHOD(CreateCompositionSurfaceForSwapChain)(
5299+            IUnknown *swapChain,
5300+            ICompositionSurface **result) PURE;
5301+
5302+        IFACEMETHOD(CreateGraphicsDevice)(
5303+            IUnknown *renderingDevice,
5304+            ICompositionGraphicsDevice **result) PURE;
5305+    };
5306+}
5307+}
5308+}
5309+}
5310+
5311+#ifdef __CRT_UUID_DECL
5312+__CRT_UUID_DECL(ABI::Windows::UI::Composition::ICompositorInterop, 0x25297d5c,0x3ad4,0x4c9c,0xb5,0xcf,0xe3,0x6a,0x38,0x51,0x23,0x30)
5313+#endif
5314+
5315diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h
5316new file mode 100644
5317index 00000000..a3c16ac2
5318--- /dev/null
5319+++ b/mingw-w64-headers/include/windows.ui.core.h
5320@@ -0,0 +1,127 @@
5321+/*** Autogenerated by WIDL 4.4 from windows.ui.core.idl - Do not edit ***/
5322+
5323+#ifdef _WIN32
5324+#ifndef __REQUIRED_RPCNDR_H_VERSION__
5325+#define __REQUIRED_RPCNDR_H_VERSION__ 475
5326+#endif
5327+#include <rpc.h>
5328+#include <rpcndr.h>
5329+#endif
5330+
5331+#ifndef COM_NO_WINDOWS_H
5332+#include <windows.h>
5333+#include <ole2.h>
5334+#endif
5335+
5336+#ifndef __windows_ui_core_h__
5337+#define __windows_ui_core_h__
5338+
5339+/* Forward declarations */
5340+
5341+#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__
5342+#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_FWD_DEFINED__
5343+typedef interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher __x_ABI_CWindows_CUI_CCore_CCoreDispatcher;
5344+#ifdef __cplusplus
5345+namespace ABI {
5346+    namespace Windows {
5347+        namespace UI {
5348+            namespace Core {
5349+                interface CoreDispatcher;
5350+            }
5351+        }
5352+    }
5353+}
5354+#endif /* __cplusplus */
5355+#endif
5356+
5357+/* Headers for imported files */
5358+
5359+#include <inspectable.h>
5360+#include <windows.foundation.h>
5361+
5362+#ifdef __cplusplus
5363+extern "C" {
5364+#endif
5365+
5366+/*****************************************************************************
5367+ * CoreDispatcher interface
5368+ */
5369+#ifndef ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__
5370+#define ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__
5371+
5372+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CCore_CCoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b);
5373+#if defined(__cplusplus) && !defined(CINTERFACE)
5374+} /* extern "C" */
5375+namespace ABI {
5376+    namespace Windows {
5377+        namespace UI {
5378+            namespace Core {
5379+                MIDL_INTERFACE("3fe05581-1ad1-4f97-9666-402d76e4233b")
5380+                CoreDispatcher : public IUnknown
5381+                {
5382+                };
5383+            }
5384+        }
5385+    }
5386+}
5387+extern "C" {
5388+#ifdef __CRT_UUID_DECL
5389+__CRT_UUID_DECL(ABI::Windows::UI::Core::CoreDispatcher, 0x3fe05581, 0x1ad1, 0x4f97, 0x96,0x66, 0x40,0x2d,0x76,0xe4,0x23,0x3b)
5390+#endif
5391+#else
5392+typedef struct __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl {
5393+    BEGIN_INTERFACE
5394+
5395+    /*** IUnknown methods ***/
5396+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5397+        __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This,
5398+        REFIID riid,
5399+        void **ppvObject);
5400+
5401+    ULONG (STDMETHODCALLTYPE *AddRef)(
5402+        __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This);
5403+
5404+    ULONG (STDMETHODCALLTYPE *Release)(
5405+        __x_ABI_CWindows_CUI_CCore_CCoreDispatcher *This);
5406+
5407+    END_INTERFACE
5408+} __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl;
5409+
5410+interface __x_ABI_CWindows_CUI_CCore_CCoreDispatcher {
5411+    CONST_VTBL __x_ABI_CWindows_CUI_CCore_CCoreDispatcherVtbl* lpVtbl;
5412+};
5413+
5414+#ifdef COBJMACROS
5415+#ifndef WIDL_C_INLINE_WRAPPERS
5416+/*** IUnknown methods ***/
5417+#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5418+#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(This) (This)->lpVtbl->AddRef(This)
5419+#define __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(This) (This)->lpVtbl->Release(This)
5420+#else
5421+/*** IUnknown methods ***/
5422+static FORCEINLINE HRESULT __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_QueryInterface(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This,REFIID riid,void **ppvObject) {
5423+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5424+}
5425+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_AddRef(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) {
5426+    return This->lpVtbl->AddRef(This);
5427+}
5428+static FORCEINLINE ULONG __x_ABI_CWindows_CUI_CCore_CCoreDispatcher_Release(__x_ABI_CWindows_CUI_CCore_CCoreDispatcher* This) {
5429+    return This->lpVtbl->Release(This);
5430+}
5431+#endif
5432+#endif
5433+
5434+#endif
5435+
5436+#endif  /* ____x_ABI_CWindows_CUI_CCore_CCoreDispatcher_INTERFACE_DEFINED__ */
5437+
5438+/* Begin additional prototypes for all interfaces */
5439+
5440+
5441+/* End additional prototypes */
5442+
5443+#ifdef __cplusplus
5444+}
5445+#endif
5446+
5447+#endif /* __windows_ui_core_h__ */
5448diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h
5449new file mode 100644
5450index 00000000..2e4abd54
5451--- /dev/null
5452+++ b/mingw-w64-headers/include/windows.ui.h
5453@@ -0,0 +1,72 @@
5454+/*** Autogenerated by WIDL 4.4 from windows.ui.idl - Do not edit ***/
5455+
5456+#ifdef _WIN32
5457+#ifndef __REQUIRED_RPCNDR_H_VERSION__
5458+#define __REQUIRED_RPCNDR_H_VERSION__ 475
5459+#endif
5460+#include <rpc.h>
5461+#include <rpcndr.h>
5462+#endif
5463+
5464+#ifndef COM_NO_WINDOWS_H
5465+#include <windows.h>
5466+#include <ole2.h>
5467+#endif
5468+
5469+#ifndef __windows_ui_h__
5470+#define __windows_ui_h__
5471+
5472+/* Forward declarations */
5473+
5474+/* Headers for imported files */
5475+
5476+#include <inspectable.h>
5477+#include <windows.foundation.h>
5478+
5479+#ifdef __cplusplus
5480+extern "C" {
5481+#endif
5482+
5483+#ifdef __cplusplus
5484+} /* extern "C" */
5485+namespace ABI {
5486+    namespace Windows {
5487+        namespace UI {
5488+            struct Color {
5489+                BYTE A;
5490+                BYTE R;
5491+                BYTE G;
5492+                BYTE B;
5493+            };
5494+        }
5495+    }
5496+}
5497+extern "C" {
5498+#else
5499+struct __x_ABI_CWindows_CUI_CColor {
5500+    BYTE A;
5501+    BYTE R;
5502+    BYTE G;
5503+    BYTE B;
5504+};
5505+#endif
5506+
5507+#ifdef __cplusplus
5508+namespace ABI {
5509+    namespace Windows {
5510+        namespace UI {
5511+typedef struct Color Color;
5512+        }
5513+    }
5514+}
5515+#endif /* __cplusplus */
5516+/* Begin additional prototypes for all interfaces */
5517+
5518+
5519+/* End additional prototypes */
5520+
5521+#ifdef __cplusplus
5522+}
5523+#endif
5524+
5525+#endif /* __windows_ui_h__ */
5526