headers: Update imported headers to current Wine version.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/include/dmusici.h b/mingw-w64-headers/include/dmusici.h
index a0f5588..0e5599c 100644
--- a/mingw-w64-headers/include/dmusici.h
+++ b/mingw-w64-headers/include/dmusici.h
@@ -1178,7 +1178,7 @@
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirectMusicAudioPath methods ***/
-    STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, WORD dwIndex, REFGUID iidInterface, void **ppObject) PURE;
+    STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, DWORD dwIndex, REFGUID iidInterface, void **ppObject) PURE;
     STDMETHOD(Activate)(THIS_ WINBOOL fActivate) PURE;
     STDMETHOD(SetVolume)(THIS_ LONG lVolume, DWORD dwDuration) PURE;
     STDMETHOD(ConvertPChannel)(THIS_ DWORD dwPChannelIn, DWORD *pdwPChannelOut) PURE;
diff --git a/mingw-w64-headers/include/windows.devices.haptics.h b/mingw-w64-headers/include/windows.devices.haptics.h
index 52d425d..9499f82 100644
--- a/mingw-w64-headers/include/windows.devices.haptics.h
+++ b/mingw-w64-headers/include/windows.devices.haptics.h
@@ -94,6 +94,22 @@
 #endif /* defined __cplusplus */
 #endif /* defined ____x_ABI_CWindows_CDevices_CHaptics_CSimpleHapticsController_FWD_DEFINED__ */
 
+#ifndef ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
@@ -102,6 +118,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback;
@@ -153,6 +177,22 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
@@ -161,6 +201,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+#define ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* >
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback_FWD_DEFINED__
 #define ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback_FWD_DEFINED__
 typedef interface __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback;
@@ -601,6 +649,283 @@
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x40000 */
 
 /*****************************************************************************
+ * IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* > interface
+ */
+#ifndef ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+#define ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0x3c501ba4, 0xeda4, 0x5238, 0xbd,0xb7, 0xd1,0x0b,0xa3,0x50,0xcd,0x83);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("3c501ba4-eda4-5238-bdb7-d10ba350cd83")
+                IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* > : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Haptics::SimpleHapticsController*, ABI::Windows::Devices::Haptics::ISimpleHapticsController* > >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0x3c501ba4, 0xeda4, 0x5238, 0xbd,0xb7, 0xd1,0x0b,0xa3,0x50,0xcd,0x83)
+#endif
+#else
+typedef struct __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Current)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *MoveNext)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 items_size,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items,
+        UINT32 *value);
+
+    END_INTERFACE
+} __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;
+
+interface __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController {
+    CONST_VTBL __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
+#define __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterator<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Current(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **value) {
+    return This->lpVtbl->get_Current(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_HasCurrent(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,boolean *value) {
+    return This->lpVtbl->get_HasCurrent(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_MoveNext(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,boolean *value) {
+    return This->lpVtbl->MoveNext(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany(__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 items_size,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,items_size,items,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterator_SimpleHapticsController IID___FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IIterator_SimpleHapticsControllerVtbl __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
+#define IIterator_SimpleHapticsController __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IIterator_SimpleHapticsController_QueryInterface __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface
+#define IIterator_SimpleHapticsController_AddRef __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef
+#define IIterator_SimpleHapticsController_Release __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release
+#define IIterator_SimpleHapticsController_GetIids __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids
+#define IIterator_SimpleHapticsController_GetRuntimeClassName __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName
+#define IIterator_SimpleHapticsController_GetTrustLevel __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel
+#define IIterator_SimpleHapticsController_get_Current __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Current
+#define IIterator_SimpleHapticsController_get_HasCurrent __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_HasCurrent
+#define IIterator_SimpleHapticsController_MoveNext __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_MoveNext
+#define IIterator_SimpleHapticsController_GetMany __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* > interface
+ */
+#ifndef ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+#define ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0xb50da692, 0x4a2b, 0x5c8a, 0x8e,0x14, 0x04,0x39,0xc0,0xb1,0xdb,0xa4);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("b50da692-4a2b-5c8a-8e14-0439c0b1dba4")
+                IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* > : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Haptics::SimpleHapticsController*, ABI::Windows::Devices::Haptics::ISimpleHapticsController* > >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0xb50da692, 0x4a2b, 0x5c8a, 0x8e,0x14, 0x04,0x39,0xc0,0xb1,0xdb,0xa4)
+#endif
+#else
+typedef struct __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *First)(
+        __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        __FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController **value);
+
+    END_INTERFACE
+} __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;
+
+interface __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController {
+    CONST_VTBL __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+#define __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_First(This,value) (This)->lpVtbl->First(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterable<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_First(__FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,__FIIterator_1_Windows__CDevices__CHaptics__CSimpleHapticsController **value) {
+    return This->lpVtbl->First(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterable_SimpleHapticsController IID___FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IIterable_SimpleHapticsControllerVtbl __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
+#define IIterable_SimpleHapticsController __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IIterable_SimpleHapticsController_QueryInterface __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface
+#define IIterable_SimpleHapticsController_AddRef __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef
+#define IIterable_SimpleHapticsController_Release __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release
+#define IIterable_SimpleHapticsController_GetIids __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids
+#define IIterable_SimpleHapticsController_GetRuntimeClassName __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName
+#define IIterable_SimpleHapticsController_GetTrustLevel __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel
+#define IIterable_SimpleHapticsController_First __FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_First
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterable_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
  * IVectorView<ABI::Windows::Devices::Haptics::SimpleHapticsController* > interface
  */
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
@@ -758,6 +1083,236 @@
 #endif  /* ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
+ * IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* > interface
+ */
+#ifndef ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+#define ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0xdd88b8e7, 0x6821, 0x56fc, 0xb1,0xe7, 0x9c,0xa4,0xa7,0x85,0x5a,0xe0);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("dd88b8e7-6821-56fc-b1e7-9ca4a7855ae0")
+                IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* > : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Devices::Haptics::SimpleHapticsController*, ABI::Windows::Devices::Haptics::ISimpleHapticsController* > >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController, 0xdd88b8e7, 0x6821, 0x56fc, 0xb1,0xe7, 0x9c,0xa4,0xa7,0x85,0x5a,0xe0)
+#endif
+#else
+typedef struct __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        TrustLevel *trustLevel);
+
+    /*** IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetAt)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 index,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetView)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        __FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController **value);
+
+    HRESULT (STDMETHODCALLTYPE *IndexOf)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *element,
+        UINT32 *index,
+        BOOLEAN *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetAt)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 index,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value);
+
+    HRESULT (STDMETHODCALLTYPE *InsertAt)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 index,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 index);
+
+    HRESULT (STDMETHODCALLTYPE *Append)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAtEnd)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    HRESULT (STDMETHODCALLTYPE *Clear)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 start_index,
+        UINT32 items_size,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
+        __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController *This,
+        UINT32 count,
+        __x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items);
+
+    END_INTERFACE
+} __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl;
+
+interface __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController {
+    CONST_VTBL __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetView(This,value) (This)->lpVtbl->GetView(This,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Append(This,value) (This)->lpVtbl->Append(This,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Clear(This) (This)->lpVtbl->Clear(This)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
+#define __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IVector<ABI::Windows::Devices::Haptics::SimpleHapticsController* > methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetAt(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 index,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **value) {
+    return This->lpVtbl->GetAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Size(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 *value) {
+    return This->lpVtbl->get_Size(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetView(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,__FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsController **value) {
+    return This->lpVtbl->GetView(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_IndexOf(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *element,UINT32 *index,BOOLEAN *value) {
+    return This->lpVtbl->IndexOf(This,element,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_SetAt(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 index,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value) {
+    return This->lpVtbl->SetAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_InsertAt(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 index,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value) {
+    return This->lpVtbl->InsertAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAt(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 index) {
+    return This->lpVtbl->RemoveAt(This,index);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Append(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController *value) {
+    return This->lpVtbl->Append(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAtEnd(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->RemoveAtEnd(This);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Clear(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This) {
+    return This->lpVtbl->Clear(This);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_ReplaceAll(__FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController* This,UINT32 count,__x_ABI_CWindows_CDevices_CHaptics_CISimpleHapticsController **items) {
+    return This->lpVtbl->ReplaceAll(This,count,items);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IVector_SimpleHapticsController IID___FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IVector_SimpleHapticsControllerVtbl __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerVtbl
+#define IVector_SimpleHapticsController __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController
+#define IVector_SimpleHapticsController_QueryInterface __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_QueryInterface
+#define IVector_SimpleHapticsController_AddRef __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_AddRef
+#define IVector_SimpleHapticsController_Release __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Release
+#define IVector_SimpleHapticsController_GetIids __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetIids
+#define IVector_SimpleHapticsController_GetRuntimeClassName __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetRuntimeClassName
+#define IVector_SimpleHapticsController_GetTrustLevel __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetTrustLevel
+#define IVector_SimpleHapticsController_GetAt __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetAt
+#define IVector_SimpleHapticsController_get_Size __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_get_Size
+#define IVector_SimpleHapticsController_GetView __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetView
+#define IVector_SimpleHapticsController_IndexOf __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_IndexOf
+#define IVector_SimpleHapticsController_SetAt __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_SetAt
+#define IVector_SimpleHapticsController_InsertAt __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_InsertAt
+#define IVector_SimpleHapticsController_RemoveAt __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAt
+#define IVector_SimpleHapticsController_Append __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Append
+#define IVector_SimpleHapticsController_RemoveAtEnd __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_RemoveAtEnd
+#define IVector_SimpleHapticsController_Clear __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_Clear
+#define IVector_SimpleHapticsController_GetMany __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_GetMany
+#define IVector_SimpleHapticsController_ReplaceAll __FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_ReplaceAll
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIVector_1_Windows__CDevices__CHaptics__CSimpleHapticsController_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
  * IVectorView<ABI::Windows::Devices::Haptics::SimpleHapticsControllerFeedback* > interface
  */
 #ifndef ____FIVectorView_1_Windows__CDevices__CHaptics__CSimpleHapticsControllerFeedback_INTERFACE_DEFINED__
diff --git a/mingw-w64-headers/include/windows.devices.haptics.idl b/mingw-w64-headers/include/windows.devices.haptics.idl
index c056ab4..506525a 100644
--- a/mingw-w64-headers/include/windows.devices.haptics.idl
+++ b/mingw-w64-headers/include/windows.devices.haptics.idl
@@ -30,7 +30,10 @@
     runtimeclass SimpleHapticsController;
 
     declare {
+        interface Windows.Foundation.Collections.IIterator<Windows.Devices.Haptics.SimpleHapticsController *>;
+        interface Windows.Foundation.Collections.IIterable<Windows.Devices.Haptics.SimpleHapticsController *>;
         interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Haptics.SimpleHapticsController *>;
+        interface Windows.Foundation.Collections.IVector<Windows.Devices.Haptics.SimpleHapticsController *>;
         interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Haptics.SimpleHapticsControllerFeedback *>;
     }
 
diff --git a/mingw-w64-headers/include/windows.storage.streams.h b/mingw-w64-headers/include/windows.storage.streams.h
index 2fa9e36..bd78d08 100644
--- a/mingw-w64-headers/include/windows.storage.streams.h
+++ b/mingw-w64-headers/include/windows.storage.streams.h
@@ -128,6 +128,23 @@
 #endif /* defined __cplusplus */
 #endif /* defined ____x_ABI_CWindows_CStorage_CStreams_CRandomAccessStream_FWD_DEFINED__ */
 
+#ifndef ____x_ABI_CWindows_CStorage_CStreams_CInMemoryRandomAccessStream_FWD_DEFINED__
+#define ____x_ABI_CWindows_CStorage_CStreams_CInMemoryRandomAccessStream_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                class InMemoryRandomAccessStream;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CStorage_CStreams_CInMemoryRandomAccessStream __x_ABI_CWindows_CStorage_CStreams_CInMemoryRandomAccessStream;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CStorage_CStreams_CInMemoryRandomAccessStream_FWD_DEFINED__ */
+
 #ifndef ____x_ABI_CWindows_CStorage_CStreams_CBuffer_FWD_DEFINED__
 #define ____x_ABI_CWindows_CStorage_CStreams_CBuffer_FWD_DEFINED__
 #ifdef __cplusplus
@@ -1270,6 +1287,22 @@
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
 /*
+ * Class Windows.Storage.Streams.InMemoryRandomAccessStream
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Storage_Streams_InMemoryRandomAccessStream_DEFINED
+#define RUNTIMECLASS_Windows_Storage_Streams_InMemoryRandomAccessStream_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Storage_Streams_InMemoryRandomAccessStream[] = {'W','i','n','d','o','w','s','.','S','t','o','r','a','g','e','.','S','t','r','e','a','m','s','.','I','n','M','e','m','o','r','y','R','a','n','d','o','m','A','c','c','e','s','s','S','t','r','e','a','m',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Storage_Streams_InMemoryRandomAccessStream[] = L"Windows.Storage.Streams.InMemoryRandomAccessStream";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Storage_Streams_InMemoryRandomAccessStream[] = {'W','i','n','d','o','w','s','.','S','t','o','r','a','g','e','.','S','t','r','e','a','m','s','.','I','n','M','e','m','o','r','y','R','a','n','d','o','m','A','c','c','e','s','s','S','t','r','e','a','m',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Storage_Streams_InMemoryRandomAccessStream_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
  * Class Windows.Storage.Streams.Buffer
  */
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
diff --git a/mingw-w64-headers/include/windows.storage.streams.idl b/mingw-w64-headers/include/windows.storage.streams.idl
index 8e8aba3..cc58a03 100644
--- a/mingw-w64-headers/include/windows.storage.streams.idl
+++ b/mingw-w64-headers/include/windows.storage.streams.idl
@@ -38,6 +38,7 @@
     interface IRandomAccessStreamStatics;
     interface IRandomAccessStreamWithContentType;
     runtimeclass Buffer;
+    runtimeclass InMemoryRandomAccessStream;
     runtimeclass RandomAccessStream;
     runtimeclass RandomAccessStreamReference;
 
@@ -130,6 +131,19 @@
     }
 
     [
+        activatable(Windows.Foundation.UniversalApiContract, 1.0),
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile)
+    ]
+    runtimeclass InMemoryRandomAccessStream
+    {
+        [default] interface Windows.Storage.Streams.IRandomAccessStream;
+        interface Windows.Storage.Streams.IOutputStream;
+        interface Windows.Foundation.IClosable;
+        interface Windows.Storage.Streams.IInputStream;
+    }
+
+    [
         activatable(Windows.Storage.Streams.IBufferFactory, Windows.Foundation.UniversalApiContract, 1.0),
         contract(Windows.Foundation.UniversalApiContract, 1.0),
         marshaling_behavior(agile),
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.h b/mingw-w64-headers/include/windows.ui.viewmanagement.h
index 3e7ac55..e1447be 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.h
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.h
@@ -77,6 +77,108 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane __x_ABI_CWindows_CUI_CViewManagement_CIInputPane;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane ABI::Windows::UI::ViewManagement::IInputPane
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPane;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 ABI::Windows::UI::ViewManagement::IInputPane2
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPane2;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl ABI::Windows::UI::ViewManagement::IInputPaneControl
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneControl;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs ABI::Windows::UI::ViewManagement::IInputPaneVisibilityEventArgs
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneVisibilityEventArgs;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics ABI::Windows::UI::ViewManagement::IInputPaneStatics
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 ABI::Windows::UI::ViewManagement::IInputPaneStatics2
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneStatics2;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CUI_CViewManagement_CUISettings_FWD_DEFINED__
 #define ____x_ABI_CWindows_CUI_CViewManagement_CUISettings_FWD_DEFINED__
 #ifdef __cplusplus
@@ -94,6 +196,40 @@
 #endif /* defined __cplusplus */
 #endif /* defined ____x_ABI_CWindows_CUI_CViewManagement_CUISettings_FWD_DEFINED__ */
 
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CInputPane_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CInputPane_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                class InputPane;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CInputPane __x_ABI_CWindows_CUI_CViewManagement_CInputPane;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CUI_CViewManagement_CInputPane_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CInputPaneVisibilityEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CInputPaneVisibilityEventArgs_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                class InputPaneVisibilityEventArgs;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CInputPaneVisibilityEventArgs __x_ABI_CWindows_CUI_CViewManagement_CInputPaneVisibilityEventArgs;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CUI_CViewManagement_CInputPaneVisibilityEventArgs_FWD_DEFINED__ */
+
 #ifndef ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CUISettings_IInspectable_FWD_DEFINED__
 #define ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CUISettings_IInspectable_FWD_DEFINED__
 typedef interface __FITypedEventHandler_2_Windows__CUI__CViewManagement__CUISettings_IInspectable __FITypedEventHandler_2_Windows__CUI__CViewManagement__CUISettings_IInspectable;
@@ -102,6 +238,14 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_FWD_DEFINED__
+#define ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_FWD_DEFINED__
+typedef interface __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs;
+#ifdef __cplusplus
+#define __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* >
+#endif /* __cplusplus */
+#endif
+
 /* Headers for imported files */
 
 #include <inspectable.h>
@@ -231,6 +375,108 @@
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane __x_ABI_CWindows_CUI_CViewManagement_CIInputPane;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane ABI::Windows::UI::ViewManagement::IInputPane
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPane;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 ABI::Windows::UI::ViewManagement::IInputPane2
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPane2;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl ABI::Windows::UI::ViewManagement::IInputPaneControl
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneControl;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs ABI::Windows::UI::ViewManagement::IInputPaneVisibilityEventArgs
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneVisibilityEventArgs;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics ABI::Windows::UI::ViewManagement::IInputPaneStatics
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 ABI::Windows::UI::ViewManagement::IInputPaneStatics2
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                interface IInputPaneStatics2;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
 #ifdef __cplusplus
 } /* extern "C" */
@@ -1012,6 +1258,876 @@
 #endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIUISettings3_INTERFACE_DEFINED__ */
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
+/*****************************************************************************
+ * IInputPane interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPane, 0x640ada70, 0x06f3, 0x4c87, 0xa6,0x78, 0x98,0x29,0xc9,0x12,0x7c,0x28);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("640ada70-06f3-4c87-a678-9829c9127c28")
+                IInputPane : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE add_Showing(
+                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > *handler,
+                        EventRegistrationToken *token) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE remove_Showing(
+                        EventRegistrationToken token) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE add_Hiding(
+                        ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > *handler,
+                        EventRegistrationToken *token) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE remove_Hiding(
+                        EventRegistrationToken token) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_OccludedRect(
+                        struct Rect *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane, 0x640ada70, 0x06f3, 0x4c87, 0xa6,0x78, 0x98,0x29,0xc9,0x12,0x7c,0x28)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPane methods ***/
+    HRESULT (STDMETHODCALLTYPE *add_Showing)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *handler,
+        EventRegistrationToken *token);
+
+    HRESULT (STDMETHODCALLTYPE *remove_Showing)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        EventRegistrationToken token);
+
+    HRESULT (STDMETHODCALLTYPE *add_Hiding)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *handler,
+        EventRegistrationToken *token);
+
+    HRESULT (STDMETHODCALLTYPE *remove_Hiding)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        EventRegistrationToken token);
+
+    HRESULT (STDMETHODCALLTYPE *get_OccludedRect)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *This,
+        struct __x_ABI_CWindows_CFoundation_CRect *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPane methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Showing(This,handler,token) (This)->lpVtbl->add_Showing(This,handler,token)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Showing(This,token) (This)->lpVtbl->remove_Showing(This,token)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Hiding(This,handler,token) (This)->lpVtbl->add_Hiding(This,handler,token)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Hiding(This,token) (This)->lpVtbl->remove_Hiding(This,token)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_get_OccludedRect(This,value) (This)->lpVtbl->get_OccludedRect(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPane methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Showing(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *handler,EventRegistrationToken *token) {
+    return This->lpVtbl->add_Showing(This,handler,token);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Showing(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,EventRegistrationToken token) {
+    return This->lpVtbl->remove_Showing(This,token);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Hiding(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *handler,EventRegistrationToken *token) {
+    return This->lpVtbl->add_Hiding(This,handler,token);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Hiding(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,EventRegistrationToken token) {
+    return This->lpVtbl->remove_Hiding(This,token);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_get_OccludedRect(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane* This,struct __x_ABI_CWindows_CFoundation_CRect *value) {
+    return This->lpVtbl->get_OccludedRect(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPane IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPane
+#define IInputPaneVtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVtbl
+#define IInputPane __x_ABI_CWindows_CUI_CViewManagement_CIInputPane
+#define IInputPane_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_QueryInterface
+#define IInputPane_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_AddRef
+#define IInputPane_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_Release
+#define IInputPane_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetIids
+#define IInputPane_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetRuntimeClassName
+#define IInputPane_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_GetTrustLevel
+#define IInputPane_add_Showing __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Showing
+#define IInputPane_remove_Showing __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Showing
+#define IInputPane_add_Hiding __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_add_Hiding
+#define IInputPane_remove_Hiding __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_remove_Hiding
+#define IInputPane_get_OccludedRect __x_ABI_CWindows_CUI_CViewManagement_CIInputPane_get_OccludedRect
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IInputPane2 interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPane2, 0x8a6b3f26, 0x7090, 0x4793, 0x94,0x4c, 0xc3,0xf2,0xcd,0xe2,0x62,0x76);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("8a6b3f26-7090-4793-944c-c3f2cde26276")
+                IInputPane2 : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE TryShow(
+                        boolean *result) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE TryHide(
+                        boolean *result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2, 0x8a6b3f26, 0x7090, 0x4793, 0x94,0x4c, 0xc3,0xf2,0xcd,0xe2,0x62,0x76)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2Vtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPane2 methods ***/
+    HRESULT (STDMETHODCALLTYPE *TryShow)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        boolean *result);
+
+    HRESULT (STDMETHODCALLTYPE *TryHide)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 *This,
+        boolean *result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2Vtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2 {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2Vtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPane2 methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryShow(This,result) (This)->lpVtbl->TryShow(This,result)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryHide(This,result) (This)->lpVtbl->TryHide(This,result)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPane2 methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryShow(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,boolean *result) {
+    return This->lpVtbl->TryShow(This,result);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryHide(__x_ABI_CWindows_CUI_CViewManagement_CIInputPane2* This,boolean *result) {
+    return This->lpVtbl->TryHide(This,result);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPane2 IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPane2
+#define IInputPane2Vtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2Vtbl
+#define IInputPane2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2
+#define IInputPane2_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_QueryInterface
+#define IInputPane2_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_AddRef
+#define IInputPane2_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_Release
+#define IInputPane2_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetIids
+#define IInputPane2_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetRuntimeClassName
+#define IInputPane2_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_GetTrustLevel
+#define IInputPane2_TryShow __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryShow
+#define IInputPane2_TryHide __x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_TryHide
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPane2_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IInputPaneControl interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl, 0x088bb24f, 0x962f, 0x489d, 0xaa,0x6e, 0xc6,0xbe,0x1a,0x0a,0x6e,0x52);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("088bb24f-962f-489d-aa6e-c6be1a0a6e52")
+                IInputPaneControl : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_Visible(
+                        boolean *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE put_Visible(
+                        boolean value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl, 0x088bb24f, 0x962f, 0x489d, 0xaa,0x6e, 0xc6,0xbe,0x1a,0x0a,0x6e,0x52)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControlVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPaneControl methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Visible)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_Visible)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl *This,
+        boolean value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControlVtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControlVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPaneControl methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_get_Visible(This,value) (This)->lpVtbl->get_Visible(This,value)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_put_Visible(This,value) (This)->lpVtbl->put_Visible(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPaneControl methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_get_Visible(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,boolean *value) {
+    return This->lpVtbl->get_Visible(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_put_Visible(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl* This,boolean value) {
+    return This->lpVtbl->put_Visible(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPaneControl IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl
+#define IInputPaneControlVtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControlVtbl
+#define IInputPaneControl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl
+#define IInputPaneControl_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_QueryInterface
+#define IInputPaneControl_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_AddRef
+#define IInputPaneControl_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_Release
+#define IInputPaneControl_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetIids
+#define IInputPaneControl_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetRuntimeClassName
+#define IInputPaneControl_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_GetTrustLevel
+#define IInputPaneControl_get_Visible __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_get_Visible
+#define IInputPaneControl_put_Visible __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_put_Visible
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneControl_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IInputPaneVisibilityEventArgs interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs, 0xd243e016, 0xd907, 0x4fcc, 0xbb,0x8d, 0xf7,0x7b,0xaa,0x50,0x28,0xf1);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("d243e016-d907-4fcc-bb8d-f77baa5028f1")
+                IInputPaneVisibilityEventArgs : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_OccludedRect(
+                        struct Rect *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE put_EnsuredFocusedElementInView(
+                        boolean value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_EnsuredFocusedElementInView(
+                        boolean *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs, 0xd243e016, 0xd907, 0x4fcc, 0xbb,0x8d, 0xf7,0x7b,0xaa,0x50,0x28,0xf1)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPaneVisibilityEventArgs methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_OccludedRect)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        struct __x_ABI_CWindows_CFoundation_CRect *value);
+
+    HRESULT (STDMETHODCALLTYPE *put_EnsuredFocusedElementInView)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        boolean value);
+
+    HRESULT (STDMETHODCALLTYPE *get_EnsuredFocusedElementInView)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *This,
+        boolean *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgsVtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPaneVisibilityEventArgs methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_OccludedRect(This,value) (This)->lpVtbl->get_OccludedRect(This,value)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_put_EnsuredFocusedElementInView(This,value) (This)->lpVtbl->put_EnsuredFocusedElementInView(This,value)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_EnsuredFocusedElementInView(This,value) (This)->lpVtbl->get_EnsuredFocusedElementInView(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPaneVisibilityEventArgs methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_OccludedRect(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,struct __x_ABI_CWindows_CFoundation_CRect *value) {
+    return This->lpVtbl->get_OccludedRect(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_put_EnsuredFocusedElementInView(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,boolean value) {
+    return This->lpVtbl->put_EnsuredFocusedElementInView(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_EnsuredFocusedElementInView(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs* This,boolean *value) {
+    return This->lpVtbl->get_EnsuredFocusedElementInView(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPaneVisibilityEventArgs IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs
+#define IInputPaneVisibilityEventArgsVtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgsVtbl
+#define IInputPaneVisibilityEventArgs __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs
+#define IInputPaneVisibilityEventArgs_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_QueryInterface
+#define IInputPaneVisibilityEventArgs_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_AddRef
+#define IInputPaneVisibilityEventArgs_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_Release
+#define IInputPaneVisibilityEventArgs_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetIids
+#define IInputPaneVisibilityEventArgs_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetRuntimeClassName
+#define IInputPaneVisibilityEventArgs_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_GetTrustLevel
+#define IInputPaneVisibilityEventArgs_get_OccludedRect __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_OccludedRect
+#define IInputPaneVisibilityEventArgs_put_EnsuredFocusedElementInView __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_put_EnsuredFocusedElementInView
+#define IInputPaneVisibilityEventArgs_get_EnsuredFocusedElementInView __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_get_EnsuredFocusedElementInView
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IInputPaneStatics interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics, 0x95f4af3a, 0xef47, 0x424a, 0x97,0x41, 0xfd,0x28,0x15,0xeb,0xa2,0xbd);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("95f4af3a-ef47-424a-9741-fd2815eba2bd")
+                IInputPaneStatics : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetForCurrentView(
+                        ABI::Windows::UI::ViewManagement::IInputPane **input_pane) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics, 0x95f4af3a, 0xef47, 0x424a, 0x97,0x41, 0xfd,0x28,0x15,0xeb,0xa2,0xbd)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStaticsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPaneStatics methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetForCurrentView)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics *This,
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane **input_pane);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStaticsVtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStaticsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPaneStatics methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetForCurrentView(This,input_pane) (This)->lpVtbl->GetForCurrentView(This,input_pane)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPaneStatics methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetForCurrentView(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics* This,__x_ABI_CWindows_CUI_CViewManagement_CIInputPane **input_pane) {
+    return This->lpVtbl->GetForCurrentView(This,input_pane);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPaneStatics IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics
+#define IInputPaneStaticsVtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStaticsVtbl
+#define IInputPaneStatics __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics
+#define IInputPaneStatics_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_QueryInterface
+#define IInputPaneStatics_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_AddRef
+#define IInputPaneStatics_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_Release
+#define IInputPaneStatics_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetIids
+#define IInputPaneStatics_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetRuntimeClassName
+#define IInputPaneStatics_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetTrustLevel
+#define IInputPaneStatics_GetForCurrentView __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_GetForCurrentView
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IInputPaneStatics2 interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
+#ifndef ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2, 0x1b63529b, 0xd9ec, 0x4531, 0x84,0x45, 0x71,0xba,0xb9,0xfb,0x82,0x8e);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace UI {
+            namespace ViewManagement {
+                MIDL_INTERFACE("1b63529b-d9ec-4531-8445-71bab9fb828e")
+                IInputPaneStatics2 : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetForUIContext(
+                        ABI::Windows::UI::IUIContext *context,
+                        ABI::Windows::UI::ViewManagement::IInputPane **result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2, 0x1b63529b, 0xd9ec, 0x4531, 0x84,0x45, 0x71,0xba,0xb9,0xfb,0x82,0x8e)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2Vtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This,
+        TrustLevel *trustLevel);
+
+    /*** IInputPaneStatics2 methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetForUIContext)(
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 *This,
+        __x_ABI_CWindows_CUI_CIUIContext *context,
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane **result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2Vtbl;
+
+interface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2 {
+    CONST_VTBL __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2Vtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IInputPaneStatics2 methods ***/
+#define __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetForUIContext(This,context,result) (This)->lpVtbl->GetForUIContext(This,context,result)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_QueryInterface(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_AddRef(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_Release(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetIids(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetRuntimeClassName(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetTrustLevel(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IInputPaneStatics2 methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetForUIContext(__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2* This,__x_ABI_CWindows_CUI_CIUIContext *context,__x_ABI_CWindows_CUI_CViewManagement_CIInputPane **result) {
+    return This->lpVtbl->GetForUIContext(This,context,result);
+}
+#endif
+#ifdef WIDL_using_Windows_UI_ViewManagement
+#define IID_IInputPaneStatics2 IID___x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2
+#define IInputPaneStatics2Vtbl __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2Vtbl
+#define IInputPaneStatics2 __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2
+#define IInputPaneStatics2_QueryInterface __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_QueryInterface
+#define IInputPaneStatics2_AddRef __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_AddRef
+#define IInputPaneStatics2_Release __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_Release
+#define IInputPaneStatics2_GetIids __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetIids
+#define IInputPaneStatics2_GetRuntimeClassName __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetRuntimeClassName
+#define IInputPaneStatics2_GetTrustLevel __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetTrustLevel
+#define IInputPaneStatics2_GetForUIContext __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_GetForUIContext
+#endif /* WIDL_using_Windows_UI_ViewManagement */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CUI_CViewManagement_CIInputPaneStatics2_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
+
 /*
  * Class Windows.UI.ViewManagement.UISettings
  */
@@ -1028,6 +2144,38 @@
 #endif /* RUNTIMECLASS_Windows_UI_ViewManagement_UISettings_DEFINED */
 #endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
 
+/*
+ * Class Windows.UI.ViewManagement.InputPane
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_UI_ViewManagement_InputPane_DEFINED
+#define RUNTIMECLASS_Windows_UI_ViewManagement_InputPane_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPane[] = {'W','i','n','d','o','w','s','.','U','I','.','V','i','e','w','M','a','n','a','g','e','m','e','n','t','.','I','n','p','u','t','P','a','n','e',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPane[] = L"Windows.UI.ViewManagement.InputPane";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPane[] = {'W','i','n','d','o','w','s','.','U','I','.','V','i','e','w','M','a','n','a','g','e','m','e','n','t','.','I','n','p','u','t','P','a','n','e',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_UI_ViewManagement_InputPane_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
+ * Class Windows.UI.ViewManagement.InputPaneVisibilityEventArgs
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs_DEFINED
+#define RUNTIMECLASS_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs[] = {'W','i','n','d','o','w','s','.','U','I','.','V','i','e','w','M','a','n','a','g','e','m','e','n','t','.','I','n','p','u','t','P','a','n','e','V','i','s','i','b','i','l','i','t','y','E','v','e','n','t','A','r','g','s',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs[] = L"Windows.UI.ViewManagement.InputPaneVisibilityEventArgs";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs[] = {'W','i','n','d','o','w','s','.','U','I','.','V','i','e','w','M','a','n','a','g','e','m','e','n','t','.','I','n','p','u','t','P','a','n','e','V','i','s','i','b','i','l','i','t','y','E','v','e','n','t','A','r','g','s',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_UI_ViewManagement_InputPaneVisibilityEventArgs_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
 /*****************************************************************************
  * ITypedEventHandler<ABI::Windows::UI::ViewManagement::UISettings*,IInspectable* > interface
  */
@@ -1120,6 +2268,98 @@
 
 #endif  /* ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CUISettings_IInspectable_INTERFACE_DEFINED__ */
 
+/*****************************************************************************
+ * ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > interface
+ */
+#ifndef ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_INTERFACE_DEFINED__
+#define ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs, 0xb813d684, 0xd953, 0x5a8a, 0x9b,0x30, 0x78,0xb7,0x9f,0xb9,0x14,0x7b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            template<>
+            MIDL_INTERFACE("b813d684-d953-5a8a-9b30-78b79fb9147b")
+            ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::UI::ViewManagement::InputPane*, ABI::Windows::UI::ViewManagement::IInputPane* >, ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs*, ABI::Windows::UI::ViewManagement::IInputPaneVisibilityEventArgs* > >
+            {
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs, 0xb813d684, 0xd953, 0x5a8a, 0x9b,0x30, 0x78,0xb7,0x9f,0xb9,0x14,0x7b)
+#endif
+#else
+typedef struct __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *This);
+
+    /*** ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs *This,
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPane *sender,
+        __x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *args);
+
+    END_INTERFACE
+} __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgsVtbl;
+
+interface __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs {
+    CONST_VTBL __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Release(This) (This)->lpVtbl->Release(This)
+/*** ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > methods ***/
+#define __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Invoke(This,sender,args) (This)->lpVtbl->Invoke(This,sender,args)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_QueryInterface(__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_AddRef(__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Release(__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** ITypedEventHandler<ABI::Windows::UI::ViewManagement::InputPane*,ABI::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs* > methods ***/
+static __WIDL_INLINE HRESULT __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Invoke(__FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs* This,__x_ABI_CWindows_CUI_CViewManagement_CIInputPane *sender,__x_ABI_CWindows_CUI_CViewManagement_CIInputPaneVisibilityEventArgs *args) {
+    return This->lpVtbl->Invoke(This,sender,args);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation
+#define IID_ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs IID___FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgsVtbl __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgsVtbl
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs_QueryInterface __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_QueryInterface
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs_AddRef __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_AddRef
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs_Release __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Release
+#define ITypedEventHandler_InputPane_InputPaneVisibilityEventArgs_Invoke __FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_Invoke
+#endif /* WIDL_using_Windows_Foundation */
+#endif
+
+#endif
+
+#endif  /* ____FITypedEventHandler_2_Windows__CUI__CViewManagement__CInputPane_Windows__CUI__CViewManagement__CInputPaneVisibilityEventArgs_INTERFACE_DEFINED__ */
+
 /* Begin additional prototypes for all interfaces */
 
 
diff --git a/mingw-w64-headers/include/windows.ui.viewmanagement.idl b/mingw-w64-headers/include/windows.ui.viewmanagement.idl
index b98d34f..1076d28 100644
--- a/mingw-w64-headers/include/windows.ui.viewmanagement.idl
+++ b/mingw-w64-headers/include/windows.ui.viewmanagement.idl
@@ -45,10 +45,20 @@
     interface IUISettings5;
     interface IUISettings6;
 
+    interface IInputPane;
+    interface IInputPane2;
+    interface IInputPaneControl;
+    interface IInputPaneVisibilityEventArgs;
+    interface IInputPaneStatics;
+    interface IInputPaneStatics2;
+
     runtimeclass UISettings;
+    runtimeclass InputPane;
+    runtimeclass InputPaneVisibilityEventArgs;
 
     declare {
         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *>;
+        interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*>;
     }
 
     [
@@ -172,6 +182,74 @@
     }
 
     [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPane),
+        uuid(640ada70-06f3-4c87-a678-9829c9127c28)
+    ]
+    interface IInputPane : IInspectable
+    {
+        [eventadd] HRESULT Showing([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token);
+        [eventremove] HRESULT Showing([in] EventRegistrationToken token);
+        [eventadd] HRESULT Hiding([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token);
+        [eventremove] HRESULT Hiding([in] EventRegistrationToken token);
+        [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPane),
+        uuid(8a6b3f26-7090-4793-944c-c3f2cde26276)
+    ]
+    interface IInputPane2 : IInspectable
+    {
+        HRESULT TryShow([out, retval] boolean *result);
+        HRESULT TryHide([out, retval] boolean *result);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPane),
+        uuid(088bb24f-962f-489d-aa6e-c6be1a0a6e52)
+    ]
+    interface IInputPaneControl : IInspectable
+    {
+        [propget] HRESULT Visible([out, retval] boolean *value);
+        [propput] HRESULT Visible([in] boolean value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPaneVisibilityEventArgs),
+        uuid(d243e016-d907-4fcc-bb8d-f77baa5028f1)
+    ]
+    interface IInputPaneVisibilityEventArgs : IInspectable
+    {
+        [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value);
+        [propput] HRESULT EnsuredFocusedElementInView([in] boolean value);
+        [propget] HRESULT EnsuredFocusedElementInView([out, retval] boolean *value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPane),
+        uuid(95f4af3a-ef47-424a-9741-fd2815eba2bd)
+    ]
+    interface IInputPaneStatics : IInspectable
+    {
+        HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.InputPane **input_pane);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 8.0),
+        exclusiveto(Windows.UI.ViewManagement.InputPane),
+        uuid(1b63529b-d9ec-4531-8445-71bab9fb828e)
+    ]
+    interface IInputPaneStatics2 : IInspectable
+    {
+        HRESULT GetForUIContext([in] Windows.UI.UIContext *context, [out, retval] Windows.UI.ViewManagement.InputPane **result);
+    }
+
+    [
         activatable(Windows.Foundation.UniversalApiContract, 1.0),
         contract(Windows.Foundation.UniversalApiContract, 1.0),
         marshaling_behavior(agile)
@@ -182,4 +260,26 @@
         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings2;
         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings3;
     }
+
+    [
+        static(Windows.UI.ViewManagement.IInputPaneStatics, Windows.Foundation.UniversalApiContract, 1.0),
+        static(Windows.UI.ViewManagement.IInputPaneStatics2, Windows.Foundation.UniversalApiContract, 8.0),
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(standard)
+    ]
+    runtimeclass InputPane
+    {
+        [default] interface Windows.UI.ViewManagement.IInputPane;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPane2;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPaneControl;
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(standard)
+    ]
+    runtimeclass InputPaneVisibilityEventArgs
+    {
+        [default] interface Windows.UI.ViewManagement.IInputPaneVisibilityEventArgs;
+    }
 }
diff --git a/mingw-w64-headers/include/xinput.h b/mingw-w64-headers/include/xinput.h
index 46f2d33..a558d02 100644
--- a/mingw-w64-headers/include/xinput.h
+++ b/mingw-w64-headers/include/xinput.h
@@ -210,6 +210,16 @@
     XINPUT_VIBRATION Vibration;
 } XINPUT_CAPABILITIES, *PXINPUT_CAPABILITIES;
 
+typedef struct _XINPUT_CAPABILITIES_EX
+{
+    XINPUT_CAPABILITIES Capabilities;
+    WORD  VendorId;
+    WORD  ProductId;
+    WORD  VersionNumber;
+    WORD  unk1;
+    DWORD unk2;
+} XINPUT_CAPABILITIES_EX, *PXINPUT_CAPABILITIES_EX;
+
 /*
  * Defines the structure for a joystick input event which is
  * retrieved using the function XInputGetKeystroke
@@ -237,6 +247,7 @@
 DWORD WINAPI XInputGetState(DWORD, XINPUT_STATE*);
 DWORD WINAPI XInputGetKeystroke(DWORD, DWORD, PXINPUT_KEYSTROKE);
 DWORD WINAPI XInputGetCapabilities(DWORD, DWORD, XINPUT_CAPABILITIES*);
+DWORD WINAPI XInputGetCapabilitiesEx(DWORD, DWORD, DWORD, XINPUT_CAPABILITIES_EX*);
 DWORD WINAPI XInputGetDSoundAudioDeviceGuids(DWORD, GUID*, GUID*);
 DWORD WINAPI XInputGetBatteryInformation(DWORD, BYTE, XINPUT_BATTERY_INFORMATION*);