// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics;

#endif // ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo;

#endif // ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo;

#endif // ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if !defined(____x_ABI_C__FIIterator_1_GUID_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1_GUID_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1_GUID __x_ABI_C__FIIterator_1_GUID;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1_GUID;

    typedef struct __x_ABI_C__FIIterator_1_GUIDVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1_GUID* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1_GUID* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1_GUID* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1_GUID* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1_GUID* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1_GUID* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1_GUID* This,
        GUID* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1_GUID* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1_GUID* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1_GUID* This,
        UINT32 itemsLength,
        GUID* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1_GUIDVtbl;

    interface __x_ABI_C__FIIterator_1_GUID
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1_GUIDVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1_GUID_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1_GUID_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1_GUID_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1_GUID __x_ABI_C__FIIterable_1_GUID;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1_GUID;

    typedef struct __x_ABI_C__FIIterable_1_GUIDVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1_GUID* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1_GUID* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1_GUID* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1_GUID* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1_GUID* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1_GUID* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1_GUID* This,
        __x_ABI_C__FIIterator_1_GUID** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1_GUIDVtbl;

    interface __x_ABI_C__FIIterable_1_GUID
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1_GUIDVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1_GUID_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    typedef struct __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Key)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        HSTRING* result);
    HRESULT (STDMETHODCALLTYPE* get_Value)(__x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        HSTRING* result);

        END_INTERFACE
    } __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

    interface __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        UINT32 itemsLength,
        __x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING* This,
        __x_ABI_C__FIIterator_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_C__FIKeyValuePair_2_HSTRING_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__
    
typedef interface __x_ABI_C__FIMapView_2_HSTRING_HSTRING __x_ABI_C__FIMapView_2_HSTRING_HSTRING;

#if !defined(____x_ABI_C__FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIMapView_2_HSTRING_HSTRING __x_ABI_C__FIMapView_2_HSTRING_HSTRING;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIMapView_2_HSTRING_HSTRING;

    typedef struct __x_ABI_C__FIMapView_2_HSTRING_HSTRINGVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Lookup)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
        HSTRING key,
        HSTRING* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* HasKey)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
        HSTRING key,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* Split)(__x_ABI_C__FIMapView_2_HSTRING_HSTRING* This,
        __x_ABI_C__FIMapView_2_HSTRING_HSTRING** first,
        __x_ABI_C__FIMapView_2_HSTRING_HSTRING** second);

        END_INTERFACE
    } __x_ABI_C__FIMapView_2_HSTRING_HSTRINGVtbl;

    interface __x_ABI_C__FIMapView_2_HSTRING_HSTRING
    {
        CONST_VTBL struct __x_ABI_C__FIMapView_2_HSTRING_HSTRINGVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIMapView_2_HSTRING_HSTRING_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1_GUID_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1_GUID_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1_GUID __x_ABI_C__FIVectorView_1_GUID;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1_GUID;

    typedef struct __x_ABI_C__FIVectorView_1_GUIDVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1_GUID* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1_GUID* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1_GUID* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1_GUID* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1_GUID* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1_GUID* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1_GUID* This,
        UINT32 index,
        GUID* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1_GUID* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1_GUID* This,
        GUID value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1_GUID* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        GUID* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1_GUIDVtbl;

    interface __x_ABI_C__FIVectorView_1_GUID
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1_GUIDVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1_GUID_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo;

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        UINT32 index,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfoVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState;

typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType;

typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies;

typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority;

typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState;

typedef enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType;

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState_Success = 0,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState_FreeNetworkNotAvailable = 1,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState_ACPowerNotAvailable = 2,
};

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType_OnCompletion = 0,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType_OnFailure = 1,
};

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies_Normal = 0x1,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies_CostDeferred = 0x2,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies_Realtime = 0x4,
};

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority_Normal = 0,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority_UserElevated = 1,
};

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState_NotRunning = 0,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState_Running = 1,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState_Throttled = 2,
};

enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType
    {
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType_Alternative = 0,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType_AlwaysOn = 1,
    __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType_Mini = 2,
};

#if !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* IsScenarioEnabled)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        GUID scenarioId,
        boolean* isActive);
    HRESULT (STDMETHODCALLTYPE* TryEscalateScenario)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        GUID scenarioId,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEscalationType escalationType,
        HSTRING outputDirectory,
        boolean timestampOutputDirectory,
        boolean forceEscalationUpload,
        __x_ABI_C__FIMapView_2_HSTRING_HSTRING* triggers,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* DownloadLatestSettingsForNamespace)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        HSTRING partner,
        HSTRING feature,
        boolean isScenarioNamespace,
        boolean downloadOverCostedNetwork,
        boolean downloadOverBattery,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState* result);
    HRESULT (STDMETHODCALLTYPE* GetActiveScenarioList)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        __x_ABI_C__FIVectorView_1_GUID** scenarioIds);
    HRESULT (STDMETHODCALLTYPE* ForceUpload)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticEventBufferLatencies latency,
        boolean uploadOverCostedNetwork,
        boolean uploadOverBattery,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticActionState* result);
    HRESULT (STDMETHODCALLTYPE* IsTraceRunning)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType slotType,
        GUID scenarioId,
        UINT64 traceProfileHash,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotState* slotState);
    HRESULT (STDMETHODCALLTYPE* GetActiveTraceRuntime)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType slotType,
        __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo** traceRuntimeInfo);
    HRESULT (STDMETHODCALLTYPE* GetKnownTraceList)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics* This,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTraceSlotType slotType,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSystem__CDiagnostics__CTraceReporting__CPlatformDiagnosticTraceInfo** traceInfo);

        END_INTERFACE
    } __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStaticsVtbl;

    interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics;
#endif /* !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticActionsStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ScenarioId)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        GUID* value);
    HRESULT (STDMETHODCALLTYPE* get_ProfileHash)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        UINT64* value);
    HRESULT (STDMETHODCALLTYPE* get_IsExclusive)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_IsAutoLogger)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* get_MaxTraceDurationFileTime)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        INT64* value);
    HRESULT (STDMETHODCALLTYPE* get_Priority)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo* This,
        enum __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CPlatformDiagnosticTracePriority* value);

        END_INTERFACE
    } __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfoVtbl;

    interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo;
#endif /* !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceInfo_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfoVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_RuntimeFileTime)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
        INT64* value);
    HRESULT (STDMETHODCALLTYPE* get_EtwRuntimeFileTime)(__x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo* This,
        INT64* value);

        END_INTERFACE
    } __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfoVtbl;

    interface __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo
    {
        CONST_VTBL struct __x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfoVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo;
#endif /* !defined(____x_ABI_CWindows_CSystem_CDiagnostics_CTraceReporting_CIPlatformDiagnosticTraceRuntimeInfo_INTERFACE_DEFINED__) */
    
