headers: Update to current Wine master

Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
index ce4dd55..889e245 100644
--- a/mingw-w64-headers/Makefile.am
+++ b/mingw-w64-headers/Makefile.am
@@ -285,6 +285,7 @@
   include/windows.applicationmodel.background.idl \
   include/windows.applicationmodel.core.idl \
   include/windows.applicationmodel.idl \
+  include/windows.data.json.idl \
   include/windows.devices.bluetooth.idl \
   include/windows.devices.enumeration.idl \
   include/windows.devices.geolocation.idl \
diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
index 81a83ac..7c89911 100644
--- a/mingw-w64-headers/Makefile.in
+++ b/mingw-w64-headers/Makefile.in
@@ -587,6 +587,7 @@
 @HAVE_WIDL_TRUE@  include/windows.applicationmodel.background.idl \
 @HAVE_WIDL_TRUE@  include/windows.applicationmodel.core.idl \
 @HAVE_WIDL_TRUE@  include/windows.applicationmodel.idl \
+@HAVE_WIDL_TRUE@  include/windows.data.json.idl \
 @HAVE_WIDL_TRUE@  include/windows.devices.bluetooth.idl \
 @HAVE_WIDL_TRUE@  include/windows.devices.enumeration.idl \
 @HAVE_WIDL_TRUE@  include/windows.devices.geolocation.idl \
diff --git a/mingw-w64-headers/include/windows.data.json.h b/mingw-w64-headers/include/windows.data.json.h
new file mode 100644
index 0000000..2e5b84e
--- /dev/null
+++ b/mingw-w64-headers/include/windows.data.json.h
@@ -0,0 +1,2737 @@
+/*** Autogenerated by WIDL 9.11 from include/windows.data.json.idl - Do not edit ***/
+
+#ifdef _WIN32
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+#include <rpc.h>
+#include <rpcndr.h>
+#endif
+
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
+
+#ifndef __windows_data_json_h__
+#define __windows_data_json_h__
+
+#ifndef __WIDL_INLINE
+#if defined(__cplusplus) || defined(_MSC_VER)
+#define __WIDL_INLINE inline
+#elif defined(__GNUC__)
+#define __WIDL_INLINE __inline__
+#endif
+#endif
+
+/* Forward declarations */
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonArray_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonArray_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonArray __x_ABI_CWindows_CData_CJson_CIJsonArray;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray ABI::Windows::Data::Json::IJsonArray
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonArray;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonObject_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonObject_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonObject __x_ABI_CWindows_CData_CJson_CIJsonObject;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject ABI::Windows::Data::Json::IJsonObject
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonObject;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValue_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValue_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonValue __x_ABI_CWindows_CData_CJson_CIJsonValue;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue ABI::Windows::Data::Json::IJsonValue
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonValue;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonValueStatics __x_ABI_CWindows_CData_CJson_CIJsonValueStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics ABI::Windows::Data::Json::IJsonValueStatics
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonValueStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CJsonArray_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CJsonArray_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                class JsonArray;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CJsonArray __x_ABI_CWindows_CData_CJson_CJsonArray;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CData_CJson_CJsonArray_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CJsonObject_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CJsonObject_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                class JsonObject;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CJsonObject __x_ABI_CWindows_CData_CJson_CJsonObject;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CData_CJson_CJsonObject_FWD_DEFINED__ */
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CJsonValue_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CJsonValue_FWD_DEFINED__
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                class JsonValue;
+            }
+        }
+    }
+}
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CJsonValue __x_ABI_CWindows_CData_CJson_CJsonValue;
+#endif /* defined __cplusplus */
+#endif /* defined ____x_ABI_CWindows_CData_CJson_CJsonValue_FWD_DEFINED__ */
+
+#ifndef ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterable_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterable_1_Windows__CData__CJson__CIJsonValue __FIIterable_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterator_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterator_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterator_1_Windows__CData__CJson__CIJsonValue __FIIterator_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIVectorView_1_Windows__CData__CJson__CIJsonValue __FIVectorView_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIVector_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIVector_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CData__CJson__CIJsonValue __FIVector_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+/* Headers for imported files */
+
+#include <inspectable.h>
+#include <asyncinfo.h>
+#include <eventtoken.h>
+#include <windowscontracts.h>
+#include <windows.foundation.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __cplusplus
+typedef enum __x_ABI_CWindows_CData_CJson_CJsonValueType __x_ABI_CWindows_CData_CJson_CJsonValueType;
+#endif /* __cplusplus */
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonArray_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonArray_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonArray __x_ABI_CWindows_CData_CJson_CIJsonArray;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray ABI::Windows::Data::Json::IJsonArray
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonArray;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonArrayStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonArrayStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonArrayStatics __x_ABI_CWindows_CData_CJson_CIJsonArrayStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonArrayStatics ABI::Windows::Data::Json::IJsonArrayStatics
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonArrayStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonObject_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonObject_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonObject __x_ABI_CWindows_CData_CJson_CIJsonObject;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject ABI::Windows::Data::Json::IJsonObject
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonObject;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonObjectStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonObjectStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonObjectStatics __x_ABI_CWindows_CData_CJson_CIJsonObjectStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonObjectStatics ABI::Windows::Data::Json::IJsonObjectStatics
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonObjectStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonObjectWithDefaultValues_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonObjectWithDefaultValues_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonObjectWithDefaultValues __x_ABI_CWindows_CData_CJson_CIJsonObjectWithDefaultValues;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonObjectWithDefaultValues ABI::Windows::Data::Json::IJsonObjectWithDefaultValues
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonObjectWithDefaultValues;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValue_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValue_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonValue __x_ABI_CWindows_CData_CJson_CIJsonValue;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue ABI::Windows::Data::Json::IJsonValue
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonValue;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonValueStatics __x_ABI_CWindows_CData_CJson_CIJsonValueStatics;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics ABI::Windows::Data::Json::IJsonValueStatics
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonValueStatics;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics2_FWD_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics2_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CData_CJson_CIJsonValueStatics2 __x_ABI_CWindows_CData_CJson_CIJsonValueStatics2;
+#ifdef __cplusplus
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics2 ABI::Windows::Data::Json::IJsonValueStatics2
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                interface IJsonValueStatics2;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterable_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterable_1_Windows__CData__CJson__CIJsonValue __FIIterable_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterator_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterator_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterator_1_Windows__CData__CJson__CIJsonValue __FIIterator_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIVectorView_1_Windows__CData__CJson__CIJsonValue __FIVectorView_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____FIVector_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+#define ____FIVector_1_Windows__CData__CJson__CIJsonValue_FWD_DEFINED__
+typedef interface __FIVector_1_Windows__CData__CJson__CIJsonValue __FIVector_1_Windows__CData__CJson__CIJsonValue;
+#ifdef __cplusplus
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Data::Json::IJsonValue* >
+#endif /* __cplusplus */
+#endif
+
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                enum JsonValueType {
+                    JsonValueType_Null = 0,
+                    JsonValueType_Boolean = 1,
+                    JsonValueType_Number = 2,
+                    JsonValueType_String = 3,
+                    JsonValueType_Array = 4,
+                    JsonValueType_Object = 5
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#else
+enum __x_ABI_CWindows_CData_CJson_CJsonValueType {
+    JsonValueType_Null = 0,
+    JsonValueType_Boolean = 1,
+    JsonValueType_Number = 2,
+    JsonValueType_String = 3,
+    JsonValueType_Array = 4,
+    JsonValueType_Object = 5
+};
+#ifdef WIDL_using_Windows_Data_Json
+#define JsonValueType __x_ABI_CWindows_CData_CJson_CJsonValueType
+#endif /* WIDL_using_Windows_Data_Json */
+#endif
+
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+/*****************************************************************************
+ * IJsonArray interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonArray_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonArray_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CData_CJson_CIJsonArray, 0x08c1ddb6, 0x0cbd, 0x4a9a, 0xb5,0xd3, 0x2f,0x85,0x2d,0xc3,0x7e,0x81);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                MIDL_INTERFACE("08c1ddb6-0cbd-4a9a-b5d3-2f852dc37e81")
+                IJsonArray : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetObjectAt(
+                        UINT32 index,
+                        ABI::Windows::Data::Json::IJsonObject **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetArrayAt(
+                        UINT32 index,
+                        ABI::Windows::Data::Json::IJsonArray **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetStringAt(
+                        UINT32 index,
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNumberAt(
+                        UINT32 index,
+                        DOUBLE *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetBooleanAt(
+                        UINT32 index,
+                        boolean *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CData_CJson_CIJsonArray, 0x08c1ddb6, 0x0cbd, 0x4a9a, 0xb5,0xd3, 0x2f,0x85,0x2d,0xc3,0x7e,0x81)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CIJsonArrayVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        TrustLevel *trustLevel);
+
+    /*** IJsonArray methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetObjectAt)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonObject **value);
+
+    HRESULT (STDMETHODCALLTYPE *GetArrayAt)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonArray **value);
+
+    HRESULT (STDMETHODCALLTYPE *GetStringAt)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        UINT32 index,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNumberAt)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        UINT32 index,
+        DOUBLE *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetBooleanAt)(
+        __x_ABI_CWindows_CData_CJson_CIJsonArray *This,
+        UINT32 index,
+        boolean *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CData_CJson_CIJsonArrayVtbl;
+
+interface __x_ABI_CWindows_CData_CJson_CIJsonArray {
+    CONST_VTBL __x_ABI_CWindows_CData_CJson_CIJsonArrayVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IJsonArray methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetObjectAt(This,index,value) (This)->lpVtbl->GetObjectAt(This,index,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetArrayAt(This,index,value) (This)->lpVtbl->GetArrayAt(This,index,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetStringAt(This,index,value) (This)->lpVtbl->GetStringAt(This,index,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetNumberAt(This,index,value) (This)->lpVtbl->GetNumberAt(This,index,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonArray_GetBooleanAt(This,index,value) (This)->lpVtbl->GetBooleanAt(This,index,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_QueryInterface(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonArray_AddRef(__x_ABI_CWindows_CData_CJson_CIJsonArray* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonArray_Release(__x_ABI_CWindows_CData_CJson_CIJsonArray* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetIids(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetRuntimeClassName(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetTrustLevel(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IJsonArray methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetObjectAt(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonObject **value) {
+    return This->lpVtbl->GetObjectAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetArrayAt(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonArray **value) {
+    return This->lpVtbl->GetArrayAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetStringAt(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,UINT32 index,HSTRING *value) {
+    return This->lpVtbl->GetStringAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetNumberAt(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,UINT32 index,DOUBLE *value) {
+    return This->lpVtbl->GetNumberAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonArray_GetBooleanAt(__x_ABI_CWindows_CData_CJson_CIJsonArray* This,UINT32 index,boolean *value) {
+    return This->lpVtbl->GetBooleanAt(This,index,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Data_Json
+#define IID_IJsonArray IID___x_ABI_CWindows_CData_CJson_CIJsonArray
+#define IJsonArrayVtbl __x_ABI_CWindows_CData_CJson_CIJsonArrayVtbl
+#define IJsonArray __x_ABI_CWindows_CData_CJson_CIJsonArray
+#define IJsonArray_QueryInterface __x_ABI_CWindows_CData_CJson_CIJsonArray_QueryInterface
+#define IJsonArray_AddRef __x_ABI_CWindows_CData_CJson_CIJsonArray_AddRef
+#define IJsonArray_Release __x_ABI_CWindows_CData_CJson_CIJsonArray_Release
+#define IJsonArray_GetIids __x_ABI_CWindows_CData_CJson_CIJsonArray_GetIids
+#define IJsonArray_GetRuntimeClassName __x_ABI_CWindows_CData_CJson_CIJsonArray_GetRuntimeClassName
+#define IJsonArray_GetTrustLevel __x_ABI_CWindows_CData_CJson_CIJsonArray_GetTrustLevel
+#define IJsonArray_GetObjectAt __x_ABI_CWindows_CData_CJson_CIJsonArray_GetObjectAt
+#define IJsonArray_GetArrayAt __x_ABI_CWindows_CData_CJson_CIJsonArray_GetArrayAt
+#define IJsonArray_GetStringAt __x_ABI_CWindows_CData_CJson_CIJsonArray_GetStringAt
+#define IJsonArray_GetNumberAt __x_ABI_CWindows_CData_CJson_CIJsonArray_GetNumberAt
+#define IJsonArray_GetBooleanAt __x_ABI_CWindows_CData_CJson_CIJsonArray_GetBooleanAt
+#endif /* WIDL_using_Windows_Data_Json */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CData_CJson_CIJsonArray_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IJsonObject interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonObject_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonObject_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CData_CJson_CIJsonObject, 0x064e24dd, 0x29c2, 0x4f83, 0x9a,0xc1, 0x9e,0xe1,0x15,0x78,0xbe,0xb3);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                MIDL_INTERFACE("064e24dd-29c2-4f83-9ac1-9ee11578beb3")
+                IJsonObject : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedValue(
+                        HSTRING name,
+                        ABI::Windows::Data::Json::IJsonValue **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE SetNamedValue(
+                        HSTRING name,
+                        ABI::Windows::Data::Json::IJsonValue *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedObject(
+                        HSTRING name,
+                        ABI::Windows::Data::Json::IJsonObject **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedArray(
+                        HSTRING name,
+                        ABI::Windows::Data::Json::IJsonArray **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedString(
+                        HSTRING name,
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedNumber(
+                        HSTRING name,
+                        DOUBLE *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNamedBoolean(
+                        HSTRING name,
+                        boolean *value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CData_CJson_CIJsonObject, 0x064e24dd, 0x29c2, 0x4f83, 0x9a,0xc1, 0x9e,0xe1,0x15,0x78,0xbe,0xb3)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CIJsonObjectVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        TrustLevel *trustLevel);
+
+    /*** IJsonObject methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetNamedValue)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *SetNamedValue)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNamedObject)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        __x_ABI_CWindows_CData_CJson_CIJsonObject **value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNamedArray)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        __x_ABI_CWindows_CData_CJson_CIJsonArray **value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNamedString)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNamedNumber)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        DOUBLE *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNamedBoolean)(
+        __x_ABI_CWindows_CData_CJson_CIJsonObject *This,
+        HSTRING name,
+        boolean *value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CData_CJson_CIJsonObjectVtbl;
+
+interface __x_ABI_CWindows_CData_CJson_CIJsonObject {
+    CONST_VTBL __x_ABI_CWindows_CData_CJson_CIJsonObjectVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IJsonObject methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedValue(This,name,value) (This)->lpVtbl->GetNamedValue(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_SetNamedValue(This,name,value) (This)->lpVtbl->SetNamedValue(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedObject(This,name,value) (This)->lpVtbl->GetNamedObject(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedArray(This,name,value) (This)->lpVtbl->GetNamedArray(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedString(This,name,value) (This)->lpVtbl->GetNamedString(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedNumber(This,name,value) (This)->lpVtbl->GetNamedNumber(This,name,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedBoolean(This,name,value) (This)->lpVtbl->GetNamedBoolean(This,name,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_QueryInterface(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonObject_AddRef(__x_ABI_CWindows_CData_CJson_CIJsonObject* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonObject_Release(__x_ABI_CWindows_CData_CJson_CIJsonObject* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetIids(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetRuntimeClassName(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetTrustLevel(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IJsonObject methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedValue(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->GetNamedValue(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_SetNamedValue(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,__x_ABI_CWindows_CData_CJson_CIJsonValue *value) {
+    return This->lpVtbl->SetNamedValue(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedObject(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,__x_ABI_CWindows_CData_CJson_CIJsonObject **value) {
+    return This->lpVtbl->GetNamedObject(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedArray(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,__x_ABI_CWindows_CData_CJson_CIJsonArray **value) {
+    return This->lpVtbl->GetNamedArray(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedString(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,HSTRING *value) {
+    return This->lpVtbl->GetNamedString(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedNumber(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,DOUBLE *value) {
+    return This->lpVtbl->GetNamedNumber(This,name,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedBoolean(__x_ABI_CWindows_CData_CJson_CIJsonObject* This,HSTRING name,boolean *value) {
+    return This->lpVtbl->GetNamedBoolean(This,name,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Data_Json
+#define IID_IJsonObject IID___x_ABI_CWindows_CData_CJson_CIJsonObject
+#define IJsonObjectVtbl __x_ABI_CWindows_CData_CJson_CIJsonObjectVtbl
+#define IJsonObject __x_ABI_CWindows_CData_CJson_CIJsonObject
+#define IJsonObject_QueryInterface __x_ABI_CWindows_CData_CJson_CIJsonObject_QueryInterface
+#define IJsonObject_AddRef __x_ABI_CWindows_CData_CJson_CIJsonObject_AddRef
+#define IJsonObject_Release __x_ABI_CWindows_CData_CJson_CIJsonObject_Release
+#define IJsonObject_GetIids __x_ABI_CWindows_CData_CJson_CIJsonObject_GetIids
+#define IJsonObject_GetRuntimeClassName __x_ABI_CWindows_CData_CJson_CIJsonObject_GetRuntimeClassName
+#define IJsonObject_GetTrustLevel __x_ABI_CWindows_CData_CJson_CIJsonObject_GetTrustLevel
+#define IJsonObject_GetNamedValue __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedValue
+#define IJsonObject_SetNamedValue __x_ABI_CWindows_CData_CJson_CIJsonObject_SetNamedValue
+#define IJsonObject_GetNamedObject __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedObject
+#define IJsonObject_GetNamedArray __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedArray
+#define IJsonObject_GetNamedString __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedString
+#define IJsonObject_GetNamedNumber __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedNumber
+#define IJsonObject_GetNamedBoolean __x_ABI_CWindows_CData_CJson_CIJsonObject_GetNamedBoolean
+#endif /* WIDL_using_Windows_Data_Json */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CData_CJson_CIJsonObject_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IJsonValue interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValue_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CData_CJson_CIJsonValue, 0xa3219ecb, 0xf0b3, 0x4dcd, 0xbe,0xee, 0x19,0xd4,0x8c,0xd3,0xed,0x1e);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                MIDL_INTERFACE("a3219ecb-f0b3-4dcd-beee-19d48cd3ed1e")
+                IJsonValue : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE get_ValueType(
+                        enum JsonValueType *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE Stringify(
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetString(
+                        HSTRING *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetNumber(
+                        DOUBLE *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetBoolean(
+                        boolean *value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetArray(
+                        ABI::Windows::Data::Json::IJsonArray **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetObject(
+                        ABI::Windows::Data::Json::IJsonObject **value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CData_CJson_CIJsonValue, 0xa3219ecb, 0xf0b3, 0x4dcd, 0xbe,0xee, 0x19,0xd4,0x8c,0xd3,0xed,0x1e)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IJsonValue methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_ValueType)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        enum __x_ABI_CWindows_CData_CJson_CJsonValueType *value);
+
+    HRESULT (STDMETHODCALLTYPE *Stringify)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetString)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        HSTRING *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetNumber)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        DOUBLE *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetBoolean)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetArray)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonArray **value);
+
+    HRESULT (STDMETHODCALLTYPE *GetObject)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonObject **value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CData_CJson_CIJsonValueVtbl;
+
+interface __x_ABI_CWindows_CData_CJson_CIJsonValue {
+    CONST_VTBL __x_ABI_CWindows_CData_CJson_CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IJsonValue methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_get_ValueType(This,value) (This)->lpVtbl->get_ValueType(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_Stringify(This,value) (This)->lpVtbl->Stringify(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetString(This,value) (This)->lpVtbl->GetString(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetNumber(This,value) (This)->lpVtbl->GetNumber(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetBoolean(This,value) (This)->lpVtbl->GetBoolean(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetArray(This,value) (This)->lpVtbl->GetArray(This,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValue_GetObject(This,value) (This)->lpVtbl->GetObject(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_QueryInterface(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonValue_AddRef(__x_ABI_CWindows_CData_CJson_CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonValue_Release(__x_ABI_CWindows_CData_CJson_CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetIids(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetRuntimeClassName(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetTrustLevel(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IJsonValue methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_get_ValueType(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,enum __x_ABI_CWindows_CData_CJson_CJsonValueType *value) {
+    return This->lpVtbl->get_ValueType(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_Stringify(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,HSTRING *value) {
+    return This->lpVtbl->Stringify(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetString(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,HSTRING *value) {
+    return This->lpVtbl->GetString(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetNumber(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,DOUBLE *value) {
+    return This->lpVtbl->GetNumber(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetBoolean(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,boolean *value) {
+    return This->lpVtbl->GetBoolean(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetArray(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonArray **value) {
+    return This->lpVtbl->GetArray(This,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValue_GetObject(__x_ABI_CWindows_CData_CJson_CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonObject **value) {
+    return This->lpVtbl->GetObject(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Data_Json
+#define IID_IJsonValue IID___x_ABI_CWindows_CData_CJson_CIJsonValue
+#define IJsonValueVtbl __x_ABI_CWindows_CData_CJson_CIJsonValueVtbl
+#define IJsonValue __x_ABI_CWindows_CData_CJson_CIJsonValue
+#define IJsonValue_QueryInterface __x_ABI_CWindows_CData_CJson_CIJsonValue_QueryInterface
+#define IJsonValue_AddRef __x_ABI_CWindows_CData_CJson_CIJsonValue_AddRef
+#define IJsonValue_Release __x_ABI_CWindows_CData_CJson_CIJsonValue_Release
+#define IJsonValue_GetIids __x_ABI_CWindows_CData_CJson_CIJsonValue_GetIids
+#define IJsonValue_GetRuntimeClassName __x_ABI_CWindows_CData_CJson_CIJsonValue_GetRuntimeClassName
+#define IJsonValue_GetTrustLevel __x_ABI_CWindows_CData_CJson_CIJsonValue_GetTrustLevel
+#define IJsonValue_get_ValueType __x_ABI_CWindows_CData_CJson_CIJsonValue_get_ValueType
+#define IJsonValue_Stringify __x_ABI_CWindows_CData_CJson_CIJsonValue_Stringify
+#define IJsonValue_GetString __x_ABI_CWindows_CData_CJson_CIJsonValue_GetString
+#define IJsonValue_GetNumber __x_ABI_CWindows_CData_CJson_CIJsonValue_GetNumber
+#define IJsonValue_GetBoolean __x_ABI_CWindows_CData_CJson_CIJsonValue_GetBoolean
+#define IJsonValue_GetArray __x_ABI_CWindows_CData_CJson_CIJsonValue_GetArray
+#define IJsonValue_GetObject __x_ABI_CWindows_CData_CJson_CIJsonValue_GetObject
+#endif /* WIDL_using_Windows_Data_Json */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CData_CJson_CIJsonValue_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IJsonValueStatics interface
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_INTERFACE_DEFINED__
+#define ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CData_CJson_CIJsonValueStatics, 0x5f6b544a, 0x2f53, 0x48e1, 0x91,0xa3, 0xf7,0x8b,0x50,0xa6,0x34,0x5c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Data {
+            namespace Json {
+                MIDL_INTERFACE("5f6b544a-2f53-48e1-91a3-f78b50a6345c")
+                IJsonValueStatics : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE Parse(
+                        HSTRING input,
+                        ABI::Windows::Data::Json::IJsonValue **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE TryParse(
+                        HSTRING input,
+                        ABI::Windows::Data::Json::IJsonValue **result,
+                        boolean *succeeded) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateBooleanValue(
+                        boolean input,
+                        ABI::Windows::Data::Json::IJsonValue **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateNumberValue(
+                        DOUBLE input,
+                        ABI::Windows::Data::Json::IJsonValue **value) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE CreateStringValue(
+                        HSTRING input,
+                        ABI::Windows::Data::Json::IJsonValue **value) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics, 0x5f6b544a, 0x2f53, 0x48e1, 0x91,0xa3, 0xf7,0x8b,0x50,0xa6,0x34,0x5c)
+#endif
+#else
+typedef struct __x_ABI_CWindows_CData_CJson_CIJsonValueStaticsVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        TrustLevel *trustLevel);
+
+    /*** IJsonValueStatics methods ***/
+    HRESULT (STDMETHODCALLTYPE *Parse)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        HSTRING input,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *TryParse)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        HSTRING input,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **result,
+        boolean *succeeded);
+
+    HRESULT (STDMETHODCALLTYPE *CreateBooleanValue)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        boolean input,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *CreateNumberValue)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        DOUBLE input,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *CreateStringValue)(
+        __x_ABI_CWindows_CData_CJson_CIJsonValueStatics *This,
+        HSTRING input,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CData_CJson_CIJsonValueStaticsVtbl;
+
+interface __x_ABI_CWindows_CData_CJson_CIJsonValueStatics {
+    CONST_VTBL __x_ABI_CWindows_CData_CJson_CIJsonValueStaticsVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IJsonValueStatics methods ***/
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Parse(This,input,value) (This)->lpVtbl->Parse(This,input,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_TryParse(This,input,result,succeeded) (This)->lpVtbl->TryParse(This,input,result,succeeded)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateBooleanValue(This,input,value) (This)->lpVtbl->CreateBooleanValue(This,input,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateNumberValue(This,input,value) (This)->lpVtbl->CreateNumberValue(This,input,value)
+#define __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateStringValue(This,input,value) (This)->lpVtbl->CreateStringValue(This,input,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_QueryInterface(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_AddRef(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Release(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetIids(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetRuntimeClassName(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetTrustLevel(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IJsonValueStatics methods ***/
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Parse(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,HSTRING input,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->Parse(This,input,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_TryParse(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,HSTRING input,__x_ABI_CWindows_CData_CJson_CIJsonValue **result,boolean *succeeded) {
+    return This->lpVtbl->TryParse(This,input,result,succeeded);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateBooleanValue(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,boolean input,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->CreateBooleanValue(This,input,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateNumberValue(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,DOUBLE input,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->CreateNumberValue(This,input,value);
+}
+static __WIDL_INLINE HRESULT __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateStringValue(__x_ABI_CWindows_CData_CJson_CIJsonValueStatics* This,HSTRING input,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->CreateStringValue(This,input,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Data_Json
+#define IID_IJsonValueStatics IID___x_ABI_CWindows_CData_CJson_CIJsonValueStatics
+#define IJsonValueStaticsVtbl __x_ABI_CWindows_CData_CJson_CIJsonValueStaticsVtbl
+#define IJsonValueStatics __x_ABI_CWindows_CData_CJson_CIJsonValueStatics
+#define IJsonValueStatics_QueryInterface __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_QueryInterface
+#define IJsonValueStatics_AddRef __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_AddRef
+#define IJsonValueStatics_Release __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Release
+#define IJsonValueStatics_GetIids __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetIids
+#define IJsonValueStatics_GetRuntimeClassName __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetRuntimeClassName
+#define IJsonValueStatics_GetTrustLevel __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_GetTrustLevel
+#define IJsonValueStatics_Parse __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_Parse
+#define IJsonValueStatics_TryParse __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_TryParse
+#define IJsonValueStatics_CreateBooleanValue __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateBooleanValue
+#define IJsonValueStatics_CreateNumberValue __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateNumberValue
+#define IJsonValueStatics_CreateStringValue __x_ABI_CWindows_CData_CJson_CIJsonValueStatics_CreateStringValue
+#endif /* WIDL_using_Windows_Data_Json */
+#endif
+
+#endif
+
+#endif  /* ____x_ABI_CWindows_CData_CJson_CIJsonValueStatics_INTERFACE_DEFINED__ */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
+ * Class Windows.Data.Json.JsonArray
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Data_Json_JsonArray_DEFINED
+#define RUNTIMECLASS_Windows_Data_Json_JsonArray_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Data_Json_JsonArray[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','A','r','r','a','y',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonArray[] = L"Windows.Data.Json.JsonArray";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonArray[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','A','r','r','a','y',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Data_Json_JsonArray_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
+ * Class Windows.Data.Json.JsonObject
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Data_Json_JsonObject_DEFINED
+#define RUNTIMECLASS_Windows_Data_Json_JsonObject_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Data_Json_JsonObject[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','O','b','j','e','c','t',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonObject[] = L"Windows.Data.Json.JsonObject";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonObject[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','O','b','j','e','c','t',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Data_Json_JsonObject_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*
+ * Class Windows.Data.Json.JsonValue
+ */
+#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+#ifndef RUNTIMECLASS_Windows_Data_Json_JsonValue_DEFINED
+#define RUNTIMECLASS_Windows_Data_Json_JsonValue_DEFINED
+#if !defined(_MSC_VER) && !defined(__MINGW32__)
+static const WCHAR RuntimeClass_Windows_Data_Json_JsonValue[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','V','a','l','u','e',0};
+#elif defined(__GNUC__) && !defined(__cplusplus)
+const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonValue[] = L"Windows.Data.Json.JsonValue";
+#else
+extern const DECLSPEC_SELECTANY WCHAR RuntimeClass_Windows_Data_Json_JsonValue[] = {'W','i','n','d','o','w','s','.','D','a','t','a','.','J','s','o','n','.','J','s','o','n','V','a','l','u','e',0};
+#endif
+#endif /* RUNTIMECLASS_Windows_Data_Json_JsonValue_DEFINED */
+#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
+
+/*****************************************************************************
+ * IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0x4deecc89, 0xb0b8, 0x5ee8, 0xa5,0x1d, 0x1c,0x25,0xad,0x9a,0x5b,0x01);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("4deecc89-b0b8-5ee8-a51d-1c25ad9a5b01")
+                IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* > : IKeyValuePair_impl<HSTRING, ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0x4deecc89, 0xb0b8, 0x5ee8, 0xa5,0x1d, 0x1c,0x25,0xad,0x9a,0x5b,0x01)
+#endif
+#else
+typedef struct __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Key)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *key);
+
+    HRESULT (STDMETHODCALLTYPE *get_Value)(
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    END_INTERFACE
+} __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Key(This,key) (This)->lpVtbl->get_Key(This,key)
+#define __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Value(This,value) (This)->lpVtbl->get_Value(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Key(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *key) {
+    return This->lpVtbl->get_Key(This,key);
+}
+static __WIDL_INLINE HRESULT __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Value(__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->get_Value(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IKeyValuePair_HSTRING_IJsonValue IID___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IKeyValuePair_HSTRING_IJsonValueVtbl __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl
+#define IKeyValuePair_HSTRING_IJsonValue __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IKeyValuePair_HSTRING_IJsonValue_QueryInterface __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IKeyValuePair_HSTRING_IJsonValue_AddRef __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef
+#define IKeyValuePair_HSTRING_IJsonValue_Release __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release
+#define IKeyValuePair_HSTRING_IJsonValue_GetIids __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids
+#define IKeyValuePair_HSTRING_IJsonValue_GetRuntimeClassName __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IKeyValuePair_HSTRING_IJsonValue_GetTrustLevel __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IKeyValuePair_HSTRING_IJsonValue_get_Key __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Key
+#define IKeyValuePair_HSTRING_IJsonValue_get_Value __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Value
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IIterable<ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIIterable_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIIterable_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterable_1_Windows__CData__CJson__CIJsonValue, 0xcb0492b6, 0x4113, 0x55cf, 0xb2,0xc5, 0x99,0xeb,0x42,0x8b,0xa4,0x93);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("cb0492b6-4113-55cf-b2c5-99eb428ba493")
+                IIterable<ABI::Windows::Data::Json::IJsonValue* > : IIterable_impl<ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterable_1_Windows__CData__CJson__CIJsonValue, 0xcb0492b6, 0x4113, 0x55cf, 0xb2,0xc5, 0x99,0xeb,0x42,0x8b,0xa4,0x93)
+#endif
+#else
+typedef struct __FIIterable_1_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterable<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *First)(
+        __FIIterable_1_Windows__CData__CJson__CIJsonValue *This,
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue **value);
+
+    END_INTERFACE
+} __FIIterable_1_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIIterable_1_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIIterable_1_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterable<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIIterable_1_Windows__CData__CJson__CIJsonValue_First(This,value) (This)->lpVtbl->First(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterable_1_Windows__CData__CJson__CIJsonValue_AddRef(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterable_1_Windows__CData__CJson__CIJsonValue_Release(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetIids(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterable<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1_Windows__CData__CJson__CIJsonValue_First(__FIIterable_1_Windows__CData__CJson__CIJsonValue* This,__FIIterator_1_Windows__CData__CJson__CIJsonValue **value) {
+    return This->lpVtbl->First(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterable_IJsonValue IID___FIIterable_1_Windows__CData__CJson__CIJsonValue
+#define IIterable_IJsonValueVtbl __FIIterable_1_Windows__CData__CJson__CIJsonValueVtbl
+#define IIterable_IJsonValue __FIIterable_1_Windows__CData__CJson__CIJsonValue
+#define IIterable_IJsonValue_QueryInterface __FIIterable_1_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IIterable_IJsonValue_AddRef __FIIterable_1_Windows__CData__CJson__CIJsonValue_AddRef
+#define IIterable_IJsonValue_Release __FIIterable_1_Windows__CData__CJson__CIJsonValue_Release
+#define IIterable_IJsonValue_GetIids __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetIids
+#define IIterable_IJsonValue_GetRuntimeClassName __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IIterable_IJsonValue_GetTrustLevel __FIIterable_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IIterable_IJsonValue_First __FIIterable_1_Windows__CData__CJson__CIJsonValue_First
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterable_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > interface
+ */
+#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xdfabb6e1, 0x0411, 0x5a8f, 0xaa,0x87, 0x35,0x4e,0x71,0x10,0xf0,0x99);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("dfabb6e1-0411-5a8f-aa87-354e7110f099")
+                IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > : IIterable_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xdfabb6e1, 0x0411, 0x5a8f, 0xaa,0x87, 0x35,0x4e,0x71,0x10,0xf0,0x99)
+#endif
+#else
+typedef struct __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *First)(
+        __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **value);
+
+    END_INTERFACE
+} __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_First(This,value) (This)->lpVtbl->First(This,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterable<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_First(__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **value) {
+    return This->lpVtbl->First(This,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterable_IKeyValuePair_HSTRING_IJsonValue IID___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IIterable_IKeyValuePair_HSTRING_IJsonValueVtbl __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_QueryInterface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_AddRef __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_Release __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_GetIids __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_GetRuntimeClassName __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_GetTrustLevel __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IIterable_IKeyValuePair_HSTRING_IJsonValue_First __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_First
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IIterator<ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIIterator_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIIterator_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterator_1_Windows__CData__CJson__CIJsonValue, 0x189eb512, 0x5a20, 0x5ec6, 0x98,0x66, 0x60,0xaf,0x96,0xf0,0xd2,0x3b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("189eb512-5a20-5ec6-9866-60af96f0d23b")
+                IIterator<ABI::Windows::Data::Json::IJsonValue* > : IIterator_impl<ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterator_1_Windows__CData__CJson__CIJsonValue, 0x189eb512, 0x5a20, 0x5ec6, 0x98,0x66, 0x60,0xaf,0x96,0xf0,0xd2,0x3b)
+#endif
+#else
+typedef struct __FIIterator_1_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterator<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Current)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *MoveNext)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIIterator_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 items_size,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **items,
+        UINT32 *value);
+
+    END_INTERFACE
+} __FIIterator_1_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIIterator_1_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIIterator_1_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterator<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
+#define __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterator_1_Windows__CData__CJson__CIJsonValue_AddRef(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterator_1_Windows__CData__CJson__CIJsonValue_Release(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetIids(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterator<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_Current(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->get_Current(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_HasCurrent(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,boolean *value) {
+    return This->lpVtbl->get_HasCurrent(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_MoveNext(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,boolean *value) {
+    return This->lpVtbl->MoveNext(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetMany(__FIIterator_1_Windows__CData__CJson__CIJsonValue* This,UINT32 items_size,__x_ABI_CWindows_CData_CJson_CIJsonValue **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,items_size,items,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterator_IJsonValue IID___FIIterator_1_Windows__CData__CJson__CIJsonValue
+#define IIterator_IJsonValueVtbl __FIIterator_1_Windows__CData__CJson__CIJsonValueVtbl
+#define IIterator_IJsonValue __FIIterator_1_Windows__CData__CJson__CIJsonValue
+#define IIterator_IJsonValue_QueryInterface __FIIterator_1_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IIterator_IJsonValue_AddRef __FIIterator_1_Windows__CData__CJson__CIJsonValue_AddRef
+#define IIterator_IJsonValue_Release __FIIterator_1_Windows__CData__CJson__CIJsonValue_Release
+#define IIterator_IJsonValue_GetIids __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetIids
+#define IIterator_IJsonValue_GetRuntimeClassName __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IIterator_IJsonValue_GetTrustLevel __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IIterator_IJsonValue_get_Current __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_Current
+#define IIterator_IJsonValue_get_HasCurrent __FIIterator_1_Windows__CData__CJson__CIJsonValue_get_HasCurrent
+#define IIterator_IJsonValue_MoveNext __FIIterator_1_Windows__CData__CJson__CIJsonValue_MoveNext
+#define IIterator_IJsonValue_GetMany __FIIterator_1_Windows__CData__CJson__CIJsonValue_GetMany
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterator_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > interface
+ */
+#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xf948eac5, 0x33eb, 0x50f5, 0xb5,0xaf, 0xe7,0xce,0xcf,0x0e,0x45,0x01);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("f948eac5-33eb-50f5-b5af-e7cecf0e4501")
+                IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > : IIterator_impl<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xf948eac5, 0x33eb, 0x50f5, 0xb5,0xaf, 0xe7,0xce,0xcf,0x0e,0x45,0x01)
+#endif
+#else
+typedef struct __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_Current)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_HasCurrent)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *MoveNext)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        boolean *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 items_size,
+        __FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **items,
+        UINT32 *value);
+
+    END_INTERFACE
+} __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Current(This,value) (This)->lpVtbl->get_Current(This,value)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_HasCurrent(This,value) (This)->lpVtbl->get_HasCurrent(This,value)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_MoveNext(This,value) (This)->lpVtbl->MoveNext(This,value)
+#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetMany(This,items_size,items,value) (This)->lpVtbl->GetMany(This,items_size,items,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IIterator<ABI::Windows::Foundation::Collections::IKeyValuePair<HSTRING,ABI::Windows::Data::Json::IJsonValue* >* > methods ***/
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Current(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **value) {
+    return This->lpVtbl->get_Current(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_HasCurrent(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,boolean *value) {
+    return This->lpVtbl->get_HasCurrent(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_MoveNext(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,boolean *value) {
+    return This->lpVtbl->MoveNext(This,value);
+}
+static __WIDL_INLINE HRESULT __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetMany(__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,UINT32 items_size,__FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,items_size,items,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IIterator_IKeyValuePair_HSTRING_IJsonValue IID___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IIterator_IKeyValuePair_HSTRING_IJsonValueVtbl __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_QueryInterface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_AddRef __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_Release __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_GetIids __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_GetRuntimeClassName __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_GetTrustLevel __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_get_Current __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Current
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_get_HasCurrent __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_HasCurrent
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_MoveNext __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_MoveNext
+#define IIterator_IKeyValuePair_HSTRING_IJsonValue_GetMany __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetMany
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xeecd690c, 0x1ff3, 0x529f, 0x92,0x3f, 0x9b,0x1c,0x31,0xfd,0x3d,0x0f);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("eecd690c-1ff3-529f-923f-9b1c31fd3d0f")
+                IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* > : IMapView_impl<HSTRING, ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xeecd690c, 0x1ff3, 0x529f, 0x92,0x3f, 0x9b,0x1c,0x31,0xfd,0x3d,0x0f)
+#endif
+#else
+typedef struct __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *Lookup)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        unsigned int *size);
+
+    HRESULT (STDMETHODCALLTYPE *HasKey)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key,
+        boolean *found);
+
+    HRESULT (STDMETHODCALLTYPE *Split)(
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **first,
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **second);
+
+    END_INTERFACE
+} __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
+#define __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Split(This,first,second) (This)->lpVtbl->Split(This,first,second)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IMapView<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->Lookup(This,key,value);
+}
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,unsigned int *size) {
+    return This->lpVtbl->get_Size(This,size);
+}
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key,boolean *found) {
+    return This->lpVtbl->HasKey(This,key,found);
+}
+static __WIDL_INLINE HRESULT __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Split(__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **first,__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **second) {
+    return This->lpVtbl->Split(This,first,second);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IMapView_HSTRING_IJsonValue IID___FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IMapView_HSTRING_IJsonValueVtbl __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl
+#define IMapView_HSTRING_IJsonValue __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IMapView_HSTRING_IJsonValue_QueryInterface __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IMapView_HSTRING_IJsonValue_AddRef __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef
+#define IMapView_HSTRING_IJsonValue_Release __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release
+#define IMapView_HSTRING_IJsonValue_GetIids __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids
+#define IMapView_HSTRING_IJsonValue_GetRuntimeClassName __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IMapView_HSTRING_IJsonValue_GetTrustLevel __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IMapView_HSTRING_IJsonValue_Lookup __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup
+#define IMapView_HSTRING_IJsonValue_get_Size __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size
+#define IMapView_HSTRING_IJsonValue_HasKey __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey
+#define IMapView_HSTRING_IJsonValue_Split __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_Split
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xc9d9a725, 0x786b, 0x5113, 0xb4,0xb7, 0x9b,0x61,0x76,0x4c,0x22,0x0b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("c9d9a725-786b-5113-b4b7-9b61764c220b")
+                IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* > : IMap_impl<HSTRING, ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue, 0xc9d9a725, 0x786b, 0x5113, 0xb4,0xb7, 0x9b,0x61,0x76,0x4c,0x22,0x0b)
+#endif
+#else
+typedef struct __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *Lookup)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        unsigned int *size);
+
+    HRESULT (STDMETHODCALLTYPE *HasKey)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key,
+        boolean *found);
+
+    HRESULT (STDMETHODCALLTYPE *GetView)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        __FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **view);
+
+    HRESULT (STDMETHODCALLTYPE *Insert)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *value,
+        boolean *replaced);
+
+    HRESULT (STDMETHODCALLTYPE *Remove)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING key);
+
+    HRESULT (STDMETHODCALLTYPE *Clear)(
+        __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue *This);
+
+    END_INTERFACE
+} __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup(This,key,value) (This)->lpVtbl->Lookup(This,key,value)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size(This,size) (This)->lpVtbl->get_Size(This,size)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey(This,key,found) (This)->lpVtbl->HasKey(This,key,found)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetView(This,view) (This)->lpVtbl->GetView(This,view)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Insert(This,key,value,replaced) (This)->lpVtbl->Insert(This,key,value,replaced)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Remove(This,key) (This)->lpVtbl->Remove(This,key)
+#define __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Clear(This) (This)->lpVtbl->Clear(This)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IMap<HSTRING,ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->Lookup(This,key,value);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,unsigned int *size) {
+    return This->lpVtbl->get_Size(This,size);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key,boolean *found) {
+    return This->lpVtbl->HasKey(This,key,found);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetView(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,__FIMapView_2_HSTRING_Windows__CData__CJson__CIJsonValue **view) {
+    return This->lpVtbl->GetView(This,view);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Insert(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key,__x_ABI_CWindows_CData_CJson_CIJsonValue *value,boolean *replaced) {
+    return This->lpVtbl->Insert(This,key,value,replaced);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Remove(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This,HSTRING key) {
+    return This->lpVtbl->Remove(This,key);
+}
+static __WIDL_INLINE HRESULT __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Clear(__FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Clear(This);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IMap_HSTRING_IJsonValue IID___FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IMap_HSTRING_IJsonValueVtbl __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValueVtbl
+#define IMap_HSTRING_IJsonValue __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue
+#define IMap_HSTRING_IJsonValue_QueryInterface __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IMap_HSTRING_IJsonValue_AddRef __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_AddRef
+#define IMap_HSTRING_IJsonValue_Release __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Release
+#define IMap_HSTRING_IJsonValue_GetIids __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetIids
+#define IMap_HSTRING_IJsonValue_GetRuntimeClassName __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IMap_HSTRING_IJsonValue_GetTrustLevel __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IMap_HSTRING_IJsonValue_Lookup __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Lookup
+#define IMap_HSTRING_IJsonValue_get_Size __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_get_Size
+#define IMap_HSTRING_IJsonValue_HasKey __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_HasKey
+#define IMap_HSTRING_IJsonValue_GetView __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_GetView
+#define IMap_HSTRING_IJsonValue_Insert __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Insert
+#define IMap_HSTRING_IJsonValue_Remove __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Remove
+#define IMap_HSTRING_IJsonValue_Clear __FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_Clear
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIMap_2_HSTRING_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVectorView<ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIVectorView_1_Windows__CData__CJson__CIJsonValue, 0xcffabb0f, 0x6bc4, 0x5ff6, 0x9b,0x9e, 0x7a,0x9d,0xf6,0xc6,0x87,0xc8);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("cffabb0f-6bc4-5ff6-9b9e-7a9df6c687c8")
+                IVectorView<ABI::Windows::Data::Json::IJsonValue* > : IVectorView_impl<ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIVectorView_1_Windows__CData__CJson__CIJsonValue, 0xcffabb0f, 0x6bc4, 0x5ff6, 0x9b,0x9e, 0x7a,0x9d,0xf6,0xc6,0x87,0xc8)
+#endif
+#else
+typedef struct __FIVectorView_1_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IVectorView<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetAt)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *IndexOf)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *element,
+        UINT32 *index,
+        BOOLEAN *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 start_index,
+        UINT32 items_size,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **items,
+        UINT32 *value);
+
+    END_INTERFACE
+} __FIVectorView_1_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIVectorView_1_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIVectorView_1_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IVectorView<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
+#define __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIVectorView_1_Windows__CData__CJson__CIJsonValue_AddRef(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIVectorView_1_Windows__CData__CJson__CIJsonValue_Release(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetIids(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IVectorView<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetAt(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->GetAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_get_Size(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,UINT32 *value) {
+    return This->lpVtbl->get_Size(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_IndexOf(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonValue *element,UINT32 *index,BOOLEAN *value) {
+    return This->lpVtbl->IndexOf(This,element,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetMany(__FIVectorView_1_Windows__CData__CJson__CIJsonValue* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CData_CJson_CIJsonValue **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IVectorView_IJsonValue IID___FIVectorView_1_Windows__CData__CJson__CIJsonValue
+#define IVectorView_IJsonValueVtbl __FIVectorView_1_Windows__CData__CJson__CIJsonValueVtbl
+#define IVectorView_IJsonValue __FIVectorView_1_Windows__CData__CJson__CIJsonValue
+#define IVectorView_IJsonValue_QueryInterface __FIVectorView_1_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IVectorView_IJsonValue_AddRef __FIVectorView_1_Windows__CData__CJson__CIJsonValue_AddRef
+#define IVectorView_IJsonValue_Release __FIVectorView_1_Windows__CData__CJson__CIJsonValue_Release
+#define IVectorView_IJsonValue_GetIids __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetIids
+#define IVectorView_IJsonValue_GetRuntimeClassName __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IVectorView_IJsonValue_GetTrustLevel __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IVectorView_IJsonValue_GetAt __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetAt
+#define IVectorView_IJsonValue_get_Size __FIVectorView_1_Windows__CData__CJson__CIJsonValue_get_Size
+#define IVectorView_IJsonValue_IndexOf __FIVectorView_1_Windows__CData__CJson__CIJsonValue_IndexOf
+#define IVectorView_IJsonValue_GetMany __FIVectorView_1_Windows__CData__CJson__CIJsonValue_GetMany
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIVectorView_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVector<ABI::Windows::Data::Json::IJsonValue* > interface
+ */
+#ifndef ____FIVector_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+#define ____FIVector_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___FIVector_1_Windows__CData__CJson__CIJsonValue, 0xd44662bc, 0xdce3, 0x59a8, 0x92,0x72, 0x4b,0x21,0x0f,0x33,0x90,0x8b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Foundation {
+            namespace Collections {
+                template<>
+                MIDL_INTERFACE("d44662bc-dce3-59a8-9272-4b210f33908b")
+                IVector<ABI::Windows::Data::Json::IJsonValue* > : IVector_impl<ABI::Windows::Data::Json::IJsonValue* >
+                {
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(__FIVector_1_Windows__CData__CJson__CIJsonValue, 0xd44662bc, 0xdce3, 0x59a8, 0x92,0x72, 0x4b,0x21,0x0f,0x33,0x90,0x8b)
+#endif
+#else
+typedef struct __FIVector_1_Windows__CData__CJson__CIJsonValueVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        TrustLevel *trustLevel);
+
+    /*** IVector<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetAt)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *get_Size)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *GetView)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        __FIVectorView_1_Windows__CData__CJson__CIJsonValue **value);
+
+    HRESULT (STDMETHODCALLTYPE *IndexOf)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *element,
+        UINT32 *index,
+        BOOLEAN *value);
+
+    HRESULT (STDMETHODCALLTYPE *SetAt)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *value);
+
+    HRESULT (STDMETHODCALLTYPE *InsertAt)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 index,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 index);
+
+    HRESULT (STDMETHODCALLTYPE *Append)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue *value);
+
+    HRESULT (STDMETHODCALLTYPE *RemoveAtEnd)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This);
+
+    HRESULT (STDMETHODCALLTYPE *Clear)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This);
+
+    HRESULT (STDMETHODCALLTYPE *GetMany)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 start_index,
+        UINT32 items_size,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **items,
+        UINT32 *value);
+
+    HRESULT (STDMETHODCALLTYPE *ReplaceAll)(
+        __FIVector_1_Windows__CData__CJson__CIJsonValue *This,
+        UINT32 count,
+        __x_ABI_CWindows_CData_CJson_CIJsonValue **items);
+
+    END_INTERFACE
+} __FIVector_1_Windows__CData__CJson__CIJsonValueVtbl;
+
+interface __FIVector_1_Windows__CData__CJson__CIJsonValue {
+    CONST_VTBL __FIVector_1_Windows__CData__CJson__CIJsonValueVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_Release(This) (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IVector<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_get_Size(This,value) (This)->lpVtbl->get_Size(This,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetView(This,value) (This)->lpVtbl->GetView(This,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_IndexOf(This,element,index,value) (This)->lpVtbl->IndexOf(This,element,index,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_Append(This,value) (This)->lpVtbl->Append(This,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAtEnd(This) (This)->lpVtbl->RemoveAtEnd(This)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_Clear(This) (This)->lpVtbl->Clear(This)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_GetMany(This,start_index,items_size,items,value) (This)->lpVtbl->GetMany(This,start_index,items_size,items,value)
+#define __FIVector_1_Windows__CData__CJson__CIJsonValue_ReplaceAll(This,count,items) (This)->lpVtbl->ReplaceAll(This,count,items)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_QueryInterface(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG __FIVector_1_Windows__CData__CJson__CIJsonValue_AddRef(__FIVector_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG __FIVector_1_Windows__CData__CJson__CIJsonValue_Release(__FIVector_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetIids(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IVector<ABI::Windows::Data::Json::IJsonValue* > methods ***/
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetAt(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonValue **value) {
+    return This->lpVtbl->GetAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_get_Size(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 *value) {
+    return This->lpVtbl->get_Size(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetView(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,__FIVectorView_1_Windows__CData__CJson__CIJsonValue **value) {
+    return This->lpVtbl->GetView(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_IndexOf(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonValue *element,UINT32 *index,BOOLEAN *value) {
+    return This->lpVtbl->IndexOf(This,element,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_SetAt(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonValue *value) {
+    return This->lpVtbl->SetAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_InsertAt(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 index,__x_ABI_CWindows_CData_CJson_CIJsonValue *value) {
+    return This->lpVtbl->InsertAt(This,index,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAt(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 index) {
+    return This->lpVtbl->RemoveAt(This,index);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_Append(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,__x_ABI_CWindows_CData_CJson_CIJsonValue *value) {
+    return This->lpVtbl->Append(This,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAtEnd(__FIVector_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->RemoveAtEnd(This);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_Clear(__FIVector_1_Windows__CData__CJson__CIJsonValue* This) {
+    return This->lpVtbl->Clear(This);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_GetMany(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 start_index,UINT32 items_size,__x_ABI_CWindows_CData_CJson_CIJsonValue **items,UINT32 *value) {
+    return This->lpVtbl->GetMany(This,start_index,items_size,items,value);
+}
+static __WIDL_INLINE HRESULT __FIVector_1_Windows__CData__CJson__CIJsonValue_ReplaceAll(__FIVector_1_Windows__CData__CJson__CIJsonValue* This,UINT32 count,__x_ABI_CWindows_CData_CJson_CIJsonValue **items) {
+    return This->lpVtbl->ReplaceAll(This,count,items);
+}
+#endif
+#ifdef WIDL_using_Windows_Foundation_Collections
+#define IID_IVector_IJsonValue IID___FIVector_1_Windows__CData__CJson__CIJsonValue
+#define IVector_IJsonValueVtbl __FIVector_1_Windows__CData__CJson__CIJsonValueVtbl
+#define IVector_IJsonValue __FIVector_1_Windows__CData__CJson__CIJsonValue
+#define IVector_IJsonValue_QueryInterface __FIVector_1_Windows__CData__CJson__CIJsonValue_QueryInterface
+#define IVector_IJsonValue_AddRef __FIVector_1_Windows__CData__CJson__CIJsonValue_AddRef
+#define IVector_IJsonValue_Release __FIVector_1_Windows__CData__CJson__CIJsonValue_Release
+#define IVector_IJsonValue_GetIids __FIVector_1_Windows__CData__CJson__CIJsonValue_GetIids
+#define IVector_IJsonValue_GetRuntimeClassName __FIVector_1_Windows__CData__CJson__CIJsonValue_GetRuntimeClassName
+#define IVector_IJsonValue_GetTrustLevel __FIVector_1_Windows__CData__CJson__CIJsonValue_GetTrustLevel
+#define IVector_IJsonValue_GetAt __FIVector_1_Windows__CData__CJson__CIJsonValue_GetAt
+#define IVector_IJsonValue_get_Size __FIVector_1_Windows__CData__CJson__CIJsonValue_get_Size
+#define IVector_IJsonValue_GetView __FIVector_1_Windows__CData__CJson__CIJsonValue_GetView
+#define IVector_IJsonValue_IndexOf __FIVector_1_Windows__CData__CJson__CIJsonValue_IndexOf
+#define IVector_IJsonValue_SetAt __FIVector_1_Windows__CData__CJson__CIJsonValue_SetAt
+#define IVector_IJsonValue_InsertAt __FIVector_1_Windows__CData__CJson__CIJsonValue_InsertAt
+#define IVector_IJsonValue_RemoveAt __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAt
+#define IVector_IJsonValue_Append __FIVector_1_Windows__CData__CJson__CIJsonValue_Append
+#define IVector_IJsonValue_RemoveAtEnd __FIVector_1_Windows__CData__CJson__CIJsonValue_RemoveAtEnd
+#define IVector_IJsonValue_Clear __FIVector_1_Windows__CData__CJson__CIJsonValue_Clear
+#define IVector_IJsonValue_GetMany __FIVector_1_Windows__CData__CJson__CIJsonValue_GetMany
+#define IVector_IJsonValue_ReplaceAll __FIVector_1_Windows__CData__CJson__CIJsonValue_ReplaceAll
+#endif /* WIDL_using_Windows_Foundation_Collections */
+#endif
+
+#endif
+
+#endif  /* ____FIVector_1_Windows__CData__CJson__CIJsonValue_INTERFACE_DEFINED__ */
+
+/* Begin additional prototypes for all interfaces */
+
+ULONG           __RPC_USER HSTRING_UserSize     (ULONG *, ULONG, HSTRING *);
+unsigned char * __RPC_USER HSTRING_UserMarshal  (ULONG *, unsigned char *, HSTRING *);
+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
+void            __RPC_USER HSTRING_UserFree     (ULONG *, HSTRING *);
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __windows_data_json_h__ */
diff --git a/mingw-w64-headers/include/windows.data.json.idl b/mingw-w64-headers/include/windows.data.json.idl
new file mode 100644
index 0000000..c37c0a5
--- /dev/null
+++ b/mingw-w64-headers/include/windows.data.json.idl
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2024 Mohamad Al-Jaf
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifdef __WIDL__
+#pragma winrt ns_prefix
+#endif
+
+import "inspectable.idl";
+import "asyncinfo.idl";
+import "eventtoken.idl";
+import "windowscontracts.idl";
+import "windows.foundation.idl";
+
+namespace Windows.Data.Json {
+    typedef enum JsonValueType JsonValueType;
+
+    interface IJsonArray;
+    interface IJsonArrayStatics;
+    interface IJsonObject;
+    interface IJsonObjectStatics;
+    interface IJsonObjectWithDefaultValues;
+    interface IJsonValue;
+    interface IJsonValueStatics;
+    interface IJsonValueStatics2;
+
+    runtimeclass JsonArray;
+    runtimeclass JsonObject;
+    runtimeclass JsonValue;
+
+    declare {
+        interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IIterable<Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Data.Json.IJsonValue *> *>;
+        interface Windows.Foundation.Collections.IIterator<Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Data.Json.IJsonValue *> *>;
+        interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IMap<HSTRING, Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IVectorView<Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IVector<Windows.Data.Json.IJsonValue *>;
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0)
+    ]
+    enum JsonValueType
+    {
+        Null    = 0,
+        Boolean = 1,
+        Number  = 2,
+        String  = 3,
+        Array   = 4,
+        Object  = 5,
+    };
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Data.Json.JsonArray),
+        uuid(08c1ddb6-0cbd-4a9a-b5d3-2f852dc37e81)
+    ]
+    interface IJsonArray : IInspectable
+        requires Windows.Data.Json.IJsonValue
+    {
+        HRESULT GetObjectAt([in] UINT32 index, [out, retval] Windows.Data.Json.JsonObject **value);
+        HRESULT GetArrayAt([in] UINT32 index, [out, retval] Windows.Data.Json.JsonArray **value);
+        HRESULT GetStringAt([in] UINT32 index, [out, retval] HSTRING *value);
+        HRESULT GetNumberAt([in] UINT32 index, [out, retval] DOUBLE *value);
+        HRESULT GetBooleanAt([in] UINT32 index, [out, retval] boolean *value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Data.Json.JsonObject),
+        uuid(064e24dd-29c2-4f83-9ac1-9ee11578beb3)
+    ]
+    interface IJsonObject : IInspectable
+        requires Windows.Data.Json.IJsonValue
+    {
+        HRESULT GetNamedValue([in] HSTRING name, [out, retval] Windows.Data.Json.JsonValue **value);
+        HRESULT SetNamedValue([in] HSTRING name, [in] Windows.Data.Json.IJsonValue *value);
+        HRESULT GetNamedObject([in] HSTRING name, [out, retval] Windows.Data.Json.JsonObject **value);
+        HRESULT GetNamedArray([in] HSTRING name, [out, retval] Windows.Data.Json.JsonArray **value);
+        HRESULT GetNamedString([in] HSTRING name, [out, retval] HSTRING *value);
+        HRESULT GetNamedNumber([in] HSTRING name, [out, retval] DOUBLE *value);
+        HRESULT GetNamedBoolean([in] HSTRING name, [out, retval] boolean *value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        uuid(a3219ecb-f0b3-4dcd-beee-19d48cd3ed1e)
+    ]
+    interface IJsonValue : IInspectable
+    {
+        [propget] HRESULT ValueType([out, retval] Windows.Data.Json.JsonValueType *value);
+        HRESULT Stringify([out, retval] HSTRING *value);
+        HRESULT GetString([out, retval] HSTRING *value);
+        HRESULT GetNumber([out, retval] DOUBLE *value);
+        HRESULT GetBoolean([out, retval] boolean *value);
+        HRESULT GetArray([out, retval] Windows.Data.Json.JsonArray **value);
+        HRESULT GetObject([out, retval] Windows.Data.Json.JsonObject **value);
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        exclusiveto(Windows.Data.Json.JsonValue),
+        uuid(5f6b544a-2f53-48e1-91a3-f78b50a6345c)
+    ]
+    interface IJsonValueStatics : IInspectable
+    {
+        HRESULT Parse([in] HSTRING input, [out, retval] Windows.Data.Json.JsonValue **value);
+        HRESULT TryParse([in] HSTRING input, [out] Windows.Data.Json.JsonValue **result, [out, retval] boolean *succeeded);
+        HRESULT CreateBooleanValue([in] boolean input, [out, retval] Windows.Data.Json.JsonValue **value);
+        HRESULT CreateNumberValue([in] DOUBLE input, [out, retval] Windows.Data.Json.JsonValue **value);
+        HRESULT CreateStringValue([in] HSTRING input, [out, retval] Windows.Data.Json.JsonValue **value);
+    }
+
+    [
+        activatable(Windows.Foundation.UniversalApiContract, 1.0),
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
+        static(Windows.Data.Json.IJsonArrayStatics, Windows.Foundation.UniversalApiContract, 1.0),
+        threading(both)
+    ]
+    runtimeclass JsonArray
+    {
+        [default] interface Windows.Data.Json.IJsonArray;
+        interface Windows.Data.Json.IJsonValue;
+        interface Windows.Foundation.Collections.IVector<Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IIterable<Windows.Data.Json.IJsonValue *>;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IStringable;
+    }
+
+    [
+        activatable(Windows.Foundation.UniversalApiContract, 1.0),
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
+        static(Windows.Data.Json.IJsonObjectStatics, Windows.Foundation.UniversalApiContract, 1.0),
+        threading(both)
+    ]
+    runtimeclass JsonObject
+    {
+        [default] interface Windows.Data.Json.IJsonObject;
+        interface Windows.Data.Json.IJsonValue;
+        interface Windows.Foundation.Collections.IMap<HSTRING, Windows.Data.Json.IJsonValue *>;
+        interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Data.Json.IJsonValue *> *>;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Data.Json.IJsonObjectWithDefaultValues;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IStringable;
+    }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 1.0),
+        marshaling_behavior(agile),
+        static(Windows.Data.Json.IJsonValueStatics, Windows.Foundation.UniversalApiContract, 1.0),
+        static(Windows.Data.Json.IJsonValueStatics2, Windows.Foundation.UniversalApiContract, 1.0),
+        threading(both)
+    ]
+    runtimeclass JsonValue
+    {
+        [default] interface Windows.Data.Json.IJsonValue;
+        [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IStringable;
+    }
+}
diff --git a/mingw-w64-headers/include/x3daudio.h b/mingw-w64-headers/include/x3daudio.h
new file mode 100644
index 0000000..26e2d1d
--- /dev/null
+++ b/mingw-w64-headers/include/x3daudio.h
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2015 Andrew Eikum for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef _X3DAUDIO_H
+#define _X3DAUDIO_H
+
+typedef struct X3DAUDIO_VECTOR {
+    float x, y, z;
+} X3DAUDIO_VECTOR;
+
+typedef struct X3DAUDIO_CONE {
+    float InnerAngle;
+    float OuterAngle;
+    float InnerVolume;
+    float OuterVolume;
+    float InnerLPF;
+    float OuterLPF;
+    float InnerReverb;
+    float OuterReverb;
+} X3DAUDIO_CONE;
+
+typedef struct X3DAUDIO_DISTANCE_CURVE_POINT {
+    float Distance;
+    float DSPSetting;
+} X3DAUDIO_DISTANCE_CURVE_POINT;
+
+typedef struct X3DAUDIO_DISTANCE_CURVE {
+    X3DAUDIO_DISTANCE_CURVE_POINT *pPoints;
+    UINT32 PointCount;
+} X3DAUDIO_DISTANCE_CURVE;
+
+typedef struct X3DAUDIO_LISTENER {
+    X3DAUDIO_VECTOR OrientFront;
+    X3DAUDIO_VECTOR OrientTop;
+    X3DAUDIO_VECTOR Position;
+    X3DAUDIO_VECTOR Velocity;
+    X3DAUDIO_CONE *pCone;
+} X3DAUDIO_LISTENER;
+
+typedef struct X3DAUDIO_EMITTER {
+    X3DAUDIO_CONE *pCone;
+    X3DAUDIO_VECTOR OrientFront;
+    X3DAUDIO_VECTOR OrientTop;
+    X3DAUDIO_VECTOR Position;
+    X3DAUDIO_VECTOR Velocity;
+    float InnerRadius;
+    float InnerRadiusAngle;
+    UINT32 ChannelCount;
+    float ChannelRadius;
+    float *pChannelAzimuths;
+    X3DAUDIO_DISTANCE_CURVE *pVolumeCurve;
+    X3DAUDIO_DISTANCE_CURVE *pLFECurve;
+    X3DAUDIO_DISTANCE_CURVE *pLPFDirectCurve;
+    X3DAUDIO_DISTANCE_CURVE *pLPFReverbCurve;
+    X3DAUDIO_DISTANCE_CURVE *pReverbCurve;
+    float CurveDistanceScalar;
+    float DopplerScalar;
+} X3DAUDIO_EMITTER;
+
+typedef struct X3DAUDIO_DSP_SETTINGS {
+    float *pMatrixCoefficients;
+    float *pDelayTimes;
+    UINT32 SrcChannelCount;
+    UINT32 DstChannelCount;
+    float LPFDirectCoefficient;
+    float LPFReverbCoefficient;
+    float ReverbLevel;
+    float DopplerFactor;
+    float EmitterToListenerAngle;
+    float EmitterToListenerDistance;
+    float EmitterVelocityComponent;
+    float ListenerVelocityComponent;
+} X3DAUDIO_DSP_SETTINGS;
+
+#define X3DAUDIO_CALCULATE_MATRIX           0x00000001
+#define X3DAUDIO_CALCULATE_DELAY            0x00000002
+#define X3DAUDIO_CALCULATE_LPF_DIRECT       0x00000004
+#define X3DAUDIO_CALCULATE_LPF_REVERB       0x00000008
+#define X3DAUDIO_CALCULATE_REVERB           0x00000010
+#define X3DAUDIO_CALCULATE_DOPPLER          0x00000020
+#define X3DAUDIO_CALCULATE_EMITTER_ANGLE    0x00000040
+#define X3DAUDIO_CALCULATE_ZEROCENTER       0x00010000
+#define X3DAUDIO_CALCULATE_REDIRECT_TO_LFE  0x00020000
+
+#ifndef _SPEAKER_POSITIONS_
+#define _SPEAKER_POSITIONS_
+#define SPEAKER_FRONT_LEFT                  0x00000001
+#define SPEAKER_FRONT_RIGHT                 0x00000002
+#define SPEAKER_FRONT_CENTER                0x00000004
+#define SPEAKER_LOW_FREQUENCY               0x00000008
+#define SPEAKER_BACK_LEFT                   0x00000010
+#define SPEAKER_BACK_RIGHT                  0x00000020
+#define SPEAKER_FRONT_LEFT_OF_CENTER        0x00000040
+#define SPEAKER_FRONT_RIGHT_OF_CENTER       0x00000080
+#define SPEAKER_BACK_CENTER                 0x00000100
+#define SPEAKER_SIDE_LEFT                   0x00000200
+#define SPEAKER_SIDE_RIGHT                  0x00000400
+#define SPEAKER_TOP_CENTER                  0x00000800
+#define SPEAKER_TOP_FRONT_LEFT              0x00001000
+#define SPEAKER_TOP_FRONT_CENTER            0x00002000
+#define SPEAKER_TOP_FRONT_RIGHT             0x00004000
+#define SPEAKER_TOP_BACK_LEFT               0x00008000
+#define SPEAKER_TOP_BACK_CENTER             0x00010000
+#define SPEAKER_TOP_BACK_RIGHT              0x00020000
+#define SPEAKER_RESERVED                    0x7ffc0000
+#define SPEAKER_ALL                         0x80000000
+#endif
+
+#ifndef SPEAKER_MONO
+#define SPEAKER_MONO                    SPEAKER_FRONT_CENTER
+#define SPEAKER_STEREO                  (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
+#define SPEAKER_2POINT1                 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY)
+#define SPEAKER_SURROUND                (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
+#define SPEAKER_QUAD                    (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
+#define SPEAKER_4POINT1                 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | \
+                                         SPEAKER_BACK_RIGHT)
+#define SPEAKER_5POINT1                 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
+                                         SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
+#define SPEAKER_7POINT1                 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
+                                         SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_FRONT_LEFT_OF_CENTER | \
+                                         SPEAKER_FRONT_RIGHT_OF_CENTER)
+#define SPEAKER_5POINT1_SURROUND        (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
+                                         SPEAKER_SIDE_LEFT  | SPEAKER_SIDE_RIGHT)
+#define SPEAKER_7POINT1_SURROUND        (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
+                                         SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_SIDE_LEFT  | SPEAKER_SIDE_RIGHT)
+#endif
+
+#define X3DAUDIO_SPEED_OF_SOUND             343.5f
+
+#define X3DAUDIO_HANDLE_BYTESIZE 20
+typedef BYTE X3DAUDIO_HANDLE[X3DAUDIO_HANDLE_BYTESIZE];
+
+HRESULT CDECL X3DAudioInitialize(UINT32, float, X3DAUDIO_HANDLE);
+void CDECL X3DAudioCalculate(const X3DAUDIO_HANDLE, const X3DAUDIO_LISTENER *,
+        const X3DAUDIO_EMITTER *, UINT32, X3DAUDIO_DSP_SETTINGS *);
+
+#endif