//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Storage.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IClosable;

        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFolder;

        runtimeclass StorageFile;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Diagnostics
        {
            typedef enum CausalityRelation CausalityRelation;

            typedef enum CausalitySource CausalitySource;

            typedef enum CausalitySynchronousWork CausalitySynchronousWork;

            typedef enum CausalityTraceLevel CausalityTraceLevel;

            typedef enum ErrorOptions ErrorOptions;

            typedef enum LoggingFieldFormat LoggingFieldFormat;

            typedef enum LoggingLevel LoggingLevel;

            typedef enum LoggingOpcode LoggingOpcode;

            interface IAsyncCausalityTracerStatics;

            interface IErrorDetails;

            interface IErrorDetailsStatics;

            interface IErrorReportingSettings;

            interface IFileLoggingSession;

            interface IFileLoggingSessionFactory;

            interface ILogFileGeneratedEventArgs;

            interface ILoggingActivity;

            interface ILoggingActivity2;

            interface ILoggingActivityFactory;

            interface ILoggingChannel;

            interface ILoggingChannel2;

            interface ILoggingChannelFactory;

            interface ILoggingChannelFactory2;

            interface ILoggingChannelOptions;

            interface ILoggingChannelOptionsFactory;

            interface ILoggingFields;

            interface ILoggingOptions;

            interface ILoggingOptionsFactory;

            interface ILoggingSession;

            interface ILoggingSessionFactory;

            interface ILoggingTarget;

            interface ITracingStatusChangedEventArgs;

            runtimeclass AsyncCausalityTracer;

            runtimeclass ErrorDetails;

            runtimeclass FileLoggingSession;

            runtimeclass LogFileGeneratedEventArgs;

            runtimeclass LoggingActivity;

            runtimeclass LoggingChannel;

            runtimeclass LoggingChannelOptions;

            runtimeclass LoggingFields;

            runtimeclass LoggingOptions;

            runtimeclass LoggingSession;

            runtimeclass RuntimeBrokerErrorSettings;

            runtimeclass TracingStatusChangedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Foundation
    {
        namespace Diagnostics
        {
            declare
            {
                interface Windows.Foundation.EventHandler<Windows.Foundation.Diagnostics.TracingStatusChangedEventArgs*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Diagnostics.ErrorDetails*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Foundation.Diagnostics.IFileLoggingSession*, Windows.Foundation.Diagnostics.LogFileGeneratedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Foundation.Diagnostics.ILoggingChannel*, IInspectable*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Foundation
    {
        namespace Diagnostics
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CausalityRelation
            {
                AssignDelegate = 0,
                Join           = 1,
                Choice         = 2,
                Cancel         = 3,
                Error          = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CausalitySource
            {
                Application = 0,
                Library     = 1,
                System      = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CausalitySynchronousWork
            {
                CompletionNotification = 0,
                ProgressNotification   = 1,
                Execution              = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CausalityTraceLevel
            {
                Required  = 0,
                Important = 1,
                Verbose   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum ErrorOptions
            {
                None                 = 0x0,
                SuppressExceptions   = 0x1,
                ForceExceptions      = 0x2,
                UseSetErrorInfo      = 0x4,
                SuppressSetErrorInfo = 0x8
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum LoggingFieldFormat
            {
                Default       = 0,
                Hidden        = 1,
                String        = 2,
                Boolean       = 3,
                Hexadecimal   = 4,
                ProcessId     = 5,
                ThreadId      = 6,
                Port          = 7,
                Ipv4Address   = 8,
                Ipv6Address   = 9,
                SocketAddress = 10,
                Xml           = 11,
                Json          = 12,
                Win32Error    = 13,
                NTStatus      = 14,
                HResult       = 15,
                FileTime      = 16,
                Signed        = 17,
                Unsigned      = 18
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum LoggingLevel
            {
                Verbose     = 0,
                Information = 1,
                Warning     = 2,
                Error       = 3,
                Critical    = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum LoggingOpcode
            {
                Info    = 0,
                Start   = 1,
                Stop    = 2,
                Reply   = 6,
                Resume  = 7,
                Suspend = 8,
                Send    = 9
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.AsyncCausalityTracer)]
            [uuid(50850B26-267E-451B-A890-AB6A370245EE)]
            interface IAsyncCausalityTracerStatics : IInspectable
            {
                HRESULT TraceOperationCreation([in] Windows.Foundation.Diagnostics.CausalityTraceLevel traceLevel, [in] Windows.Foundation.Diagnostics.CausalitySource source, [in] GUID platformId, [in] UINT64 operationId, [in] HSTRING operationName, [in] UINT64 relatedContext);
                HRESULT TraceOperationCompletion([in] Windows.Foundation.Diagnostics.CausalityTraceLevel traceLevel, [in] Windows.Foundation.Diagnostics.CausalitySource source, [in] GUID platformId, [in] UINT64 operationId, [in] AsyncStatus status);
                HRESULT TraceOperationRelation([in] Windows.Foundation.Diagnostics.CausalityTraceLevel traceLevel, [in] Windows.Foundation.Diagnostics.CausalitySource source, [in] GUID platformId, [in] UINT64 operationId, [in] Windows.Foundation.Diagnostics.CausalityRelation relation);
                HRESULT TraceSynchronousWorkStart([in] Windows.Foundation.Diagnostics.CausalityTraceLevel traceLevel, [in] Windows.Foundation.Diagnostics.CausalitySource source, [in] GUID platformId, [in] UINT64 operationId, [in] Windows.Foundation.Diagnostics.CausalitySynchronousWork work);
                HRESULT TraceSynchronousWorkCompletion([in] Windows.Foundation.Diagnostics.CausalityTraceLevel traceLevel, [in] Windows.Foundation.Diagnostics.CausalitySource source, [in] Windows.Foundation.Diagnostics.CausalitySynchronousWork work);
                [eventadd] HRESULT TracingStatusChanged([in] Windows.Foundation.EventHandler<Windows.Foundation.Diagnostics.TracingStatusChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT TracingStatusChanged([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.ErrorDetails)]
            [uuid(378CBB01-2CC9-428F-8C55-2C990D463E8F)]
            interface IErrorDetails : IInspectable
            {
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT LongDescription([out] [retval] HSTRING* value);
                [propget] HRESULT HelpUri([out] [retval] Windows.Foundation.Uri** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.ErrorDetails)]
            [uuid(B7703750-0B1D-46C8-AA0E-4B8178E4FCE9)]
            interface IErrorDetailsStatics : IInspectable
            {
                HRESULT CreateFromHResultAsync([in] INT32 errorCode, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Diagnostics.ErrorDetails*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(16369792-B03E-4BA1-8BB8-D28F4AB4D2C0)]
            interface IErrorReportingSettings : IInspectable
            {
                HRESULT SetErrorOptions([in] Windows.Foundation.Diagnostics.ErrorOptions value);
                HRESULT GetErrorOptions([out] [retval] Windows.Foundation.Diagnostics.ErrorOptions* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(24C74216-FED2-404C-895F-1F9699CB02F7)]
            interface IFileLoggingSession : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [overload("AddLoggingChannel")] HRESULT AddLoggingChannel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel);
                [overload("AddLoggingChannel")] HRESULT AddLoggingChannelWithLevel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel, [in] Windows.Foundation.Diagnostics.LoggingLevel maxLevel);
                HRESULT RemoveLoggingChannel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel);
                HRESULT CloseAndSaveToFileAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile*>** operation);
                [eventadd] HRESULT LogFileGenerated([in] Windows.Foundation.TypedEventHandler<Windows.Foundation.Diagnostics.IFileLoggingSession*, Windows.Foundation.Diagnostics.LogFileGeneratedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LogFileGenerated([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.FileLoggingSession)]
            [uuid(EEA08DCE-8447-4DAA-9133-12EB46F697D4)]
            interface IFileLoggingSessionFactory : IInspectable
            {
                HRESULT Create([in] HSTRING name, [out] [retval] Windows.Foundation.Diagnostics.FileLoggingSession** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LogFileGeneratedEventArgs)]
            [uuid(269E976F-0D38-4C1A-B53F-B395D881DF84)]
            interface ILogFileGeneratedEventArgs : IInspectable
            {
                [propget] HRESULT File([out] [retval] Windows.Storage.StorageFile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingActivity)]
            [uuid(BC032941-B766-4CB5-9848-97AC6BA6D60C)]
            interface ILoggingActivity : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT Id([out] [retval] GUID* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingActivity)]
            [uuid(26C29808-6322-456A-AF82-80C8642F178B)]
            interface ILoggingActivity2 : IInspectable
                requires
                    Windows.Foundation.Diagnostics.ILoggingActivity,
                    Windows.Foundation.IClosable,
                    Windows.Foundation.Diagnostics.ILoggingTarget
            {
                [propget] HRESULT Channel([out] [retval] Windows.Foundation.Diagnostics.LoggingChannel** value);
                [overload("StopActivity")] HRESULT StopActivity([in] HSTRING stopEventName);
                [overload("StopActivity")] HRESULT StopActivityWithFields([in] HSTRING stopEventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields);
                [overload("StopActivity")] HRESULT StopActivityWithFieldsAndOptions([in] HSTRING stopEventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [in] Windows.Foundation.Diagnostics.LoggingOptions* options);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingActivity)]
            [uuid(6B33B483-E10A-4C58-97D5-10FB451074FB)]
            interface ILoggingActivityFactory : IInspectable
            {
                HRESULT CreateLoggingActivity([in] HSTRING activityName, [in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** loggingActivity);
                HRESULT CreateLoggingActivityWithLevel([in] HSTRING activityName, [in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel, [in] Windows.Foundation.Diagnostics.LoggingLevel level, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** loggingActivity);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(E9A50343-11D7-4F01-B5CA-CF495278C0A8)]
            interface ILoggingChannel : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT Enabled([out] [retval] boolean* value);
                [propget] HRESULT Level([out] [retval] Windows.Foundation.Diagnostics.LoggingLevel* value);
                [overload("LogMessage")] HRESULT LogMessage([in] HSTRING eventString);
                [overload("LogMessage")] HRESULT LogMessageWithLevel([in] HSTRING eventString, [in] Windows.Foundation.Diagnostics.LoggingLevel level);
                [overload("LogValuePair")] HRESULT LogValuePair([in] HSTRING value1, [in] INT32 value2);
                [overload("LogValuePair")] HRESULT LogValuePairWithLevel([in] HSTRING value1, [in] INT32 value2, [in] Windows.Foundation.Diagnostics.LoggingLevel level);
                [eventadd] HRESULT LoggingEnabled([in] Windows.Foundation.TypedEventHandler<Windows.Foundation.Diagnostics.ILoggingChannel*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LoggingEnabled([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingChannel)]
            [uuid(9F4C3CF3-0BAC-45A5-9E33-BAF3F3A246A5)]
            interface ILoggingChannel2 : IInspectable
                requires
                    Windows.Foundation.Diagnostics.ILoggingChannel,
                    Windows.Foundation.IClosable,
                    Windows.Foundation.Diagnostics.ILoggingTarget
            {
                [propget] HRESULT Id([out] [retval] GUID* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingChannel)]
            [uuid(4EDC5B9C-AF80-4A9B-B0DC-398F9AE5207B)]
            interface ILoggingChannelFactory : IInspectable
            {
                [deprecated("This constructor creates a LoggingChannel in Windows 8.1 compatibility mode. Prefer the two-parameter constructor.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT Create([in] HSTRING name, [out] [retval] Windows.Foundation.Diagnostics.LoggingChannel** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingChannel)]
            [uuid(4C6EF5DD-3B27-4DC9-99F0-299C6E4603A1)]
            interface ILoggingChannelFactory2 : IInspectable
            {
                HRESULT CreateWithOptions([in] HSTRING name, [in] Windows.Foundation.Diagnostics.LoggingChannelOptions* options, [out] [retval] Windows.Foundation.Diagnostics.LoggingChannel** result);
                HRESULT CreateWithOptionsAndId([in] HSTRING name, [in] Windows.Foundation.Diagnostics.LoggingChannelOptions* options, [in] GUID id, [out] [retval] Windows.Foundation.Diagnostics.LoggingChannel** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingChannelOptions)]
            [uuid(C3E847FF-0EBB-4A53-8C54-DEC24926CB2C)]
            interface ILoggingChannelOptions : IInspectable
            {
                [propget] HRESULT Group([out] [retval] GUID* value);
                [propput] HRESULT Group([in] GUID value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingChannelOptions)]
            [uuid(A93151DA-7FAF-4191-8755-5E86DC65D896)]
            interface ILoggingChannelOptionsFactory : IInspectable
            {
                HRESULT Create([in] GUID group, [out] [retval] Windows.Foundation.Diagnostics.LoggingChannelOptions** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingFields)]
            [uuid(D7F6B7AF-762D-4579-83BD-52C23BC333BC)]
            interface ILoggingFields : IInspectable
            {
                HRESULT Clear();
                [overload("BeginStruct")] HRESULT BeginStruct([in] HSTRING name);
                [overload("BeginStruct")] HRESULT BeginStructWithTags([in] HSTRING name, [in] INT32 tags);
                HRESULT EndStruct();
                [overload("AddEmpty")] HRESULT AddEmpty([in] HSTRING name);
                [overload("AddEmpty")] HRESULT AddEmptyWithFormat([in] HSTRING name, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddEmpty")] HRESULT AddEmptyWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt8")] HRESULT AddUInt8([in] HSTRING name, [in] BYTE value);
                [overload("AddUInt8")] HRESULT AddUInt8WithFormat([in] HSTRING name, [in] BYTE value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt8")] HRESULT AddUInt8WithFormatAndTags([in] HSTRING name, [in] BYTE value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt8Array")] HRESULT AddUInt8Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
                [overload("AddUInt8Array")] HRESULT AddUInt8ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt8Array")] HRESULT AddUInt8ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt16")] HRESULT AddInt16([in] HSTRING name, [in] INT16 value);
                [overload("AddInt16")] HRESULT AddInt16WithFormat([in] HSTRING name, [in] INT16 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt16")] HRESULT AddInt16WithFormatAndTags([in] HSTRING name, [in] INT16 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt16Array")] HRESULT AddInt16Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT16* value);
                [overload("AddInt16Array")] HRESULT AddInt16ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT16* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt16Array")] HRESULT AddInt16ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT16* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt16")] HRESULT AddUInt16([in] HSTRING name, [in] UINT16 value);
                [overload("AddUInt16")] HRESULT AddUInt16WithFormat([in] HSTRING name, [in] UINT16 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt16")] HRESULT AddUInt16WithFormatAndTags([in] HSTRING name, [in] UINT16 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt16Array")] HRESULT AddUInt16Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT16* value);
                [overload("AddUInt16Array")] HRESULT AddUInt16ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT16* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt16Array")] HRESULT AddUInt16ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT16* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt32")] HRESULT AddInt32([in] HSTRING name, [in] INT32 value);
                [overload("AddInt32")] HRESULT AddInt32WithFormat([in] HSTRING name, [in] INT32 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt32")] HRESULT AddInt32WithFormatAndTags([in] HSTRING name, [in] INT32 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt32Array")] HRESULT AddInt32Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT32* value);
                [overload("AddInt32Array")] HRESULT AddInt32ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT32* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt32Array")] HRESULT AddInt32ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT32* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt32")] HRESULT AddUInt32([in] HSTRING name, [in] UINT32 value);
                [overload("AddUInt32")] HRESULT AddUInt32WithFormat([in] HSTRING name, [in] UINT32 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt32")] HRESULT AddUInt32WithFormatAndTags([in] HSTRING name, [in] UINT32 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt32Array")] HRESULT AddUInt32Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT32* value);
                [overload("AddUInt32Array")] HRESULT AddUInt32ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT32* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt32Array")] HRESULT AddUInt32ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT32* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt64")] HRESULT AddInt64([in] HSTRING name, [in] INT64 value);
                [overload("AddInt64")] HRESULT AddInt64WithFormat([in] HSTRING name, [in] INT64 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt64")] HRESULT AddInt64WithFormatAndTags([in] HSTRING name, [in] INT64 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddInt64Array")] HRESULT AddInt64Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT64* value);
                [overload("AddInt64Array")] HRESULT AddInt64ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT64* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddInt64Array")] HRESULT AddInt64ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] INT64* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt64")] HRESULT AddUInt64([in] HSTRING name, [in] UINT64 value);
                [overload("AddUInt64")] HRESULT AddUInt64WithFormat([in] HSTRING name, [in] UINT64 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt64")] HRESULT AddUInt64WithFormatAndTags([in] HSTRING name, [in] UINT64 value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddUInt64Array")] HRESULT AddUInt64Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT64* value);
                [overload("AddUInt64Array")] HRESULT AddUInt64ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT64* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddUInt64Array")] HRESULT AddUInt64ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] UINT64* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddSingle")] HRESULT AddSingle([in] HSTRING name, [in] FLOAT value);
                [overload("AddSingle")] HRESULT AddSingleWithFormat([in] HSTRING name, [in] FLOAT value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddSingle")] HRESULT AddSingleWithFormatAndTags([in] HSTRING name, [in] FLOAT value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddSingleArray")] HRESULT AddSingleArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] FLOAT* value);
                [overload("AddSingleArray")] HRESULT AddSingleArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] FLOAT* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddSingleArray")] HRESULT AddSingleArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] FLOAT* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddDouble")] HRESULT AddDouble([in] HSTRING name, [in] DOUBLE value);
                [overload("AddDouble")] HRESULT AddDoubleWithFormat([in] HSTRING name, [in] DOUBLE value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddDouble")] HRESULT AddDoubleWithFormatAndTags([in] HSTRING name, [in] DOUBLE value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddDoubleArray")] HRESULT AddDoubleArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] DOUBLE* value);
                [overload("AddDoubleArray")] HRESULT AddDoubleArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] DOUBLE* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddDoubleArray")] HRESULT AddDoubleArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] DOUBLE* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddChar16")] HRESULT AddChar16([in] HSTRING name, [in] WCHAR value);
                [overload("AddChar16")] HRESULT AddChar16WithFormat([in] HSTRING name, [in] WCHAR value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddChar16")] HRESULT AddChar16WithFormatAndTags([in] HSTRING name, [in] WCHAR value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddChar16Array")] HRESULT AddChar16Array([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] WCHAR* value);
                [overload("AddChar16Array")] HRESULT AddChar16ArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] WCHAR* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddChar16Array")] HRESULT AddChar16ArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] WCHAR* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddBoolean")] HRESULT AddBoolean([in] HSTRING name, [in] boolean value);
                [overload("AddBoolean")] HRESULT AddBooleanWithFormat([in] HSTRING name, [in] boolean value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddBoolean")] HRESULT AddBooleanWithFormatAndTags([in] HSTRING name, [in] boolean value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddBooleanArray")] HRESULT AddBooleanArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] boolean* value);
                [overload("AddBooleanArray")] HRESULT AddBooleanArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] boolean* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddBooleanArray")] HRESULT AddBooleanArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] boolean* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddString")] HRESULT AddString([in] HSTRING name, [in] HSTRING value);
                [overload("AddString")] HRESULT AddStringWithFormat([in] HSTRING name, [in] HSTRING value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddString")] HRESULT AddStringWithFormatAndTags([in] HSTRING name, [in] HSTRING value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddStringArray")] HRESULT AddStringArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] HSTRING* value);
                [overload("AddStringArray")] HRESULT AddStringArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] HSTRING* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddStringArray")] HRESULT AddStringArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] HSTRING* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddGuid")] HRESULT AddGuid([in] HSTRING name, [in] GUID value);
                [overload("AddGuid")] HRESULT AddGuidWithFormat([in] HSTRING name, [in] GUID value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddGuid")] HRESULT AddGuidWithFormatAndTags([in] HSTRING name, [in] GUID value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddGuidArray")] HRESULT AddGuidArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] GUID* value);
                [overload("AddGuidArray")] HRESULT AddGuidArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] GUID* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddGuidArray")] HRESULT AddGuidArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] GUID* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddDateTime")] HRESULT AddDateTime([in] HSTRING name, [in] Windows.Foundation.DateTime value);
                [overload("AddDateTime")] HRESULT AddDateTimeWithFormat([in] HSTRING name, [in] Windows.Foundation.DateTime value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddDateTime")] HRESULT AddDateTimeWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.DateTime value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddDateTimeArray")] HRESULT AddDateTimeArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.DateTime* value);
                [overload("AddDateTimeArray")] HRESULT AddDateTimeArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.DateTime* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddDateTimeArray")] HRESULT AddDateTimeArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.DateTime* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddTimeSpan")] HRESULT AddTimeSpan([in] HSTRING name, [in] Windows.Foundation.TimeSpan value);
                [overload("AddTimeSpan")] HRESULT AddTimeSpanWithFormat([in] HSTRING name, [in] Windows.Foundation.TimeSpan value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddTimeSpan")] HRESULT AddTimeSpanWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.TimeSpan value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddTimeSpanArray")] HRESULT AddTimeSpanArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.TimeSpan* value);
                [overload("AddTimeSpanArray")] HRESULT AddTimeSpanArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.TimeSpan* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddTimeSpanArray")] HRESULT AddTimeSpanArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.TimeSpan* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddPoint")] HRESULT AddPoint([in] HSTRING name, [in] Windows.Foundation.Point value);
                [overload("AddPoint")] HRESULT AddPointWithFormat([in] HSTRING name, [in] Windows.Foundation.Point value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddPoint")] HRESULT AddPointWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.Point value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddPointArray")] HRESULT AddPointArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Point* value);
                [overload("AddPointArray")] HRESULT AddPointArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Point* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddPointArray")] HRESULT AddPointArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Point* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddSize")] HRESULT AddSize([in] HSTRING name, [in] Windows.Foundation.Size value);
                [overload("AddSize")] HRESULT AddSizeWithFormat([in] HSTRING name, [in] Windows.Foundation.Size value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddSize")] HRESULT AddSizeWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.Size value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddSizeArray")] HRESULT AddSizeArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Size* value);
                [overload("AddSizeArray")] HRESULT AddSizeArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Size* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddSizeArray")] HRESULT AddSizeArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Size* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddRect")] HRESULT AddRect([in] HSTRING name, [in] Windows.Foundation.Rect value);
                [overload("AddRect")] HRESULT AddRectWithFormat([in] HSTRING name, [in] Windows.Foundation.Rect value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddRect")] HRESULT AddRectWithFormatAndTags([in] HSTRING name, [in] Windows.Foundation.Rect value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
                [overload("AddRectArray")] HRESULT AddRectArray([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Rect* value);
                [overload("AddRectArray")] HRESULT AddRectArrayWithFormat([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Rect* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format);
                [overload("AddRectArray")] HRESULT AddRectArrayWithFormatAndTags([in] HSTRING name, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] Windows.Foundation.Rect* value, [in] Windows.Foundation.Diagnostics.LoggingFieldFormat format, [in] INT32 tags);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingOptions)]
            [uuid(90BC7850-0192-4F5D-AC26-006ADACA12D8)]
            interface ILoggingOptions : IInspectable
            {
                [propget] HRESULT Keywords([out] [retval] INT64* value);
                [propput] HRESULT Keywords([in] INT64 value);
                [propget] HRESULT Tags([out] [retval] INT32* value);
                [propput] HRESULT Tags([in] INT32 value);
                [propget] HRESULT Task([out] [retval] INT16* value);
                [propput] HRESULT Task([in] INT16 value);
                [propget] HRESULT Opcode([out] [retval] Windows.Foundation.Diagnostics.LoggingOpcode* value);
                [propput] HRESULT Opcode([in] Windows.Foundation.Diagnostics.LoggingOpcode value);
                [propget] HRESULT ActivityId([out] [retval] GUID* value);
                [propput] HRESULT ActivityId([in] GUID value);
                [propget] HRESULT RelatedActivityId([out] [retval] GUID* value);
                [propput] HRESULT RelatedActivityId([in] GUID value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingOptions)]
            [uuid(D713C6CB-98AB-464B-9F22-A3268478368A)]
            interface ILoggingOptionsFactory : IInspectable
            {
                HRESULT CreateWithKeywords([in] INT64 keywords, [out] [retval] Windows.Foundation.Diagnostics.LoggingOptions** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(6221F306-9380-4AD7-BAF5-41EA9310D768)]
            interface ILoggingSession : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                HRESULT SaveToFileAsync([in] Windows.Storage.IStorageFolder* folder, [in] HSTRING fileName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile*>** operation);
                [overload("AddLoggingChannel")] HRESULT AddLoggingChannel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel);
                [overload("AddLoggingChannel")] HRESULT AddLoggingChannelWithLevel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel, [in] Windows.Foundation.Diagnostics.LoggingLevel maxLevel);
                HRESULT RemoveLoggingChannel([in] Windows.Foundation.Diagnostics.ILoggingChannel* loggingChannel);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.LoggingSession)]
            [uuid(4E937EE5-58FD-45E0-8C2F-A132EFF95C1E)]
            interface ILoggingSessionFactory : IInspectable
            {
                HRESULT Create([in] HSTRING name, [out] [retval] Windows.Foundation.Diagnostics.LoggingSession** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(65F16C35-E388-4E26-B17A-F51CD3A83916)]
            interface ILoggingTarget : IInspectable
            {
                [overload("IsEnabled")] HRESULT IsEnabled([out] [retval] boolean* result);
                [overload("IsEnabled")] HRESULT IsEnabledWithLevel([in] Windows.Foundation.Diagnostics.LoggingLevel level, [out] [retval] boolean* result);
                [overload("IsEnabled")] HRESULT IsEnabledWithLevelAndKeywords([in] Windows.Foundation.Diagnostics.LoggingLevel level, [in] INT64 keywords, [out] [retval] boolean* result);
                [overload("LogEvent")] HRESULT LogEvent([in] HSTRING eventName);
                [overload("LogEvent")] HRESULT LogEventWithFields([in] HSTRING eventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields);
                [overload("LogEvent")] HRESULT LogEventWithFieldsAndLevel([in] HSTRING eventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [in] Windows.Foundation.Diagnostics.LoggingLevel level);
                [overload("LogEvent")] HRESULT LogEventWithFieldsAndOptions([in] HSTRING eventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [in] Windows.Foundation.Diagnostics.LoggingLevel level, [in] Windows.Foundation.Diagnostics.LoggingOptions* options);
                [overload("StartActivity")] HRESULT StartActivity([in] HSTRING startEventName, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** result);
                [overload("StartActivity")] HRESULT StartActivityWithFields([in] HSTRING startEventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** result);
                [overload("StartActivity")] HRESULT StartActivityWithFieldsAndLevel([in] HSTRING startEventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [in] Windows.Foundation.Diagnostics.LoggingLevel level, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** result);
                [overload("StartActivity")] HRESULT StartActivityWithFieldsAndOptions([in] HSTRING startEventName, [in] Windows.Foundation.Diagnostics.LoggingFields* fields, [in] Windows.Foundation.Diagnostics.LoggingLevel level, [in] Windows.Foundation.Diagnostics.LoggingOptions* options, [out] [retval] Windows.Foundation.Diagnostics.LoggingActivity** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Foundation.Diagnostics.TracingStatusChangedEventArgs)]
            [uuid(410B7711-FF3B-477F-9C9A-D2EFDA302DC3)]
            interface ITracingStatusChangedEventArgs : IInspectable
            {
                [propget] HRESULT Enabled([out] [retval] boolean* enabled);
                [propget] HRESULT TraceLevel([out] [retval] Windows.Foundation.Diagnostics.CausalityTraceLevel* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Foundation.Diagnostics.IAsyncCausalityTracerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass AsyncCausalityTracer
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Foundation.Diagnostics.IErrorDetailsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass ErrorDetails
            {
                [default] interface Windows.Foundation.Diagnostics.IErrorDetails;
            }

            [activatable(Windows.Foundation.Diagnostics.IFileLoggingSessionFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FileLoggingSession
            {
                [default] interface Windows.Foundation.Diagnostics.IFileLoggingSession;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LogFileGeneratedEventArgs
            {
                [default] interface Windows.Foundation.Diagnostics.ILogFileGeneratedEventArgs;
            }

            [activatable(Windows.Foundation.Diagnostics.ILoggingActivityFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingActivity
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingActivity;
                interface Windows.Foundation.IClosable;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.Diagnostics.ILoggingActivity2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.Diagnostics.ILoggingTarget;
            }

            [activatable(Windows.Foundation.Diagnostics.ILoggingChannelFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Foundation.Diagnostics.ILoggingChannelFactory2, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingChannel
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingChannel;
                interface Windows.Foundation.IClosable;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.Diagnostics.ILoggingChannel2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.Diagnostics.ILoggingTarget;
            }

            [activatable(Windows.Foundation.Diagnostics.ILoggingChannelOptionsFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingChannelOptions
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingChannelOptions;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingFields
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingFields;
            }

            [activatable(Windows.Foundation.Diagnostics.ILoggingOptionsFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingOptions
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingOptions;
            }

            [activatable(Windows.Foundation.Diagnostics.ILoggingSessionFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LoggingSession
            {
                [default] interface Windows.Foundation.Diagnostics.ILoggingSession;
                interface Windows.Foundation.IClosable;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RuntimeBrokerErrorSettings
            {
                [default] interface Windows.Foundation.Diagnostics.IErrorReportingSettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass TracingStatusChangedEventArgs
            {
                [default] interface Windows.Foundation.Diagnostics.ITracingStatusChangedEventArgs;
            }
        }
    }
}
