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

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
    {
        typedef struct TimeSpan TimeSpan;
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Background
        {
            interface IDeviceUseDetails;

            interface IDeviceServicingDetails;

            runtimeclass DeviceUseDetails;

            runtimeclass DeviceServicingDetails;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace Background
        {
            [exclusiveto(Windows.Devices.Background.DeviceUseDetails)]
            [uuid(7D565141-557E-4154-B994-E4F7A11FB323)]
            [version(0x06030000)]
            interface IDeviceUseDetails : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Arguments([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.Devices.Background.DeviceServicingDetails)]
            [uuid(4AABEE29-2344-4AC4-8527-4A8EF6905645)]
            [version(0x06030000)]
            interface IDeviceServicingDetails : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Arguments([out] [retval] HSTRING* value);
                [propget] HRESULT ExpectedDuration([out] [retval] Windows.Foundation.TimeSpan* value);
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceUseDetails
            {
                [default] interface Windows.Devices.Background.IDeviceUseDetails;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceServicingDetails
            {
                [default] interface Windows.Devices.Background.IDeviceServicingDetails;
            }
        }
    }
}
