//
// 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";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        namespace Power
        {
            namespace Diagnostics
            {
                interface IBackgroundEnergyDiagnosticsStatics;

                interface IForegroundEnergyDiagnosticsStatics;

                runtimeclass BackgroundEnergyDiagnostics;

                runtimeclass ForegroundEnergyDiagnostics;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace System
    {
        namespace Power
        {
            namespace Diagnostics
            {
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.System.Power.Diagnostics.BackgroundEnergyDiagnostics)]
                [uuid(D7663702-D3A6-46E0-8F9B-50B95BB4F9C5)]
                interface IBackgroundEnergyDiagnosticsStatics : IInspectable
                {
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] [propget] HRESULT DeviceSpecificConversionFactor([out] [retval] DOUBLE* value);
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] HRESULT ComputeTotalEnergyUsage([out] [retval] UINT64* value);
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] HRESULT ResetTotalEnergyUsage();
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.System.Power.Diagnostics.ForegroundEnergyDiagnostics)]
                [uuid(23CA0917-CD07-4609-BE15-8FE894C5E41E)]
                interface IForegroundEnergyDiagnosticsStatics : IInspectable
                {
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] [propget] HRESULT DeviceSpecificConversionFactor([out] [retval] DOUBLE* value);
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] HRESULT ComputeTotalEnergyUsage([out] [retval] UINT64* value);
                    [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)] HRESULT ResetTotalEnergyUsage();
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("Background Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)]
                [marshaling_behavior(agile)]
                [static(Windows.System.Power.Diagnostics.IBackgroundEnergyDiagnosticsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass BackgroundEnergyDiagnostics
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [deprecated("Foreground Energy Diagnostics has been deprecated. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 6.0)]
                [marshaling_behavior(agile)]
                [static(Windows.System.Power.Diagnostics.IForegroundEnergyDiagnosticsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
                runtimeclass ForegroundEnergyDiagnostics
                {
                }
            }
        }
    }
}
