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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Diagnostics
        {
            typedef enum ErrorOptions ErrorOptions;

            interface IErrorReportingSettings;

            runtimeclass RuntimeBrokerErrorSettings;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Foundation
    {
        namespace Diagnostics
        {
            [flags]
            [version(0x06020000)]
            enum ErrorOptions
            {
                None                 = 0x0,
                SuppressExceptions   = 0x1,
                ForceExceptions      = 0x2,
                UseSetErrorInfo      = 0x4,
                SuppressSetErrorInfo = 0x8
            };

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

            [marshaling_behavior(agile)]
            [activatable(0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass RuntimeBrokerErrorSettings
            {
                [default] interface Windows.Foundation.Diagnostics.IErrorReportingSettings;
            }
        }
    }
}
