//
// 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 ApplicationModel
    {
        namespace Preview
        {
            apicontract StartupAppsPreviewContract;

            typedef enum StartupAppImpactPreview StartupAppImpactPreview;

            interface IStartupAppInfoPreview;

            interface IStartupAppsManagerPreview;

            interface IStartupAppsManagerPreviewStatics;

            runtimeclass StartupAppInfoPreview;

            runtimeclass StartupAppsManagerPreview;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Preview
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Preview.StartupAppInfoPreview*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Preview.StartupAppInfoPreview*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Preview.StartupAppInfoPreview*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Preview
        {
            [contractversion(1.0)]
            apicontract StartupAppsPreviewContract
            {
            }

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            enum StartupAppImpactPreview
            {
                Unknown = 0,
                None    = 1,
                Low     = 2,
                Medium  = 3,
                High    = 4
            };

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Preview.StartupAppInfoPreview)]
            [uuid(C3A147DB-09FA-5AA5-B3BD-119A09963D58)]
            interface IStartupAppInfoPreview : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT Publisher([out] [retval] HSTRING* value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propget] HRESULT Impact([out] [retval] Windows.ApplicationModel.Preview.StartupAppImpactPreview* value);
                [propget] HRESULT ExecutablePath([out] [retval] HSTRING* value);
            }

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Preview.StartupAppsManagerPreview)]
            [uuid(7197B9C1-03BB-5693-87C3-6F983CC70FB3)]
            interface IStartupAppsManagerPreview : IInspectable
            {
                HRESULT GetStartupAppInfos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Preview.StartupAppInfoPreview*>** result);
            }

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Preview.StartupAppsManagerPreview)]
            [uuid(9D0331F5-343F-5CD7-9D66-762CFA2C0380)]
            interface IStartupAppsManagerPreviewStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.ApplicationModel.Preview.StartupAppsManagerPreview** result);
            }

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass StartupAppInfoPreview
            {
                [default] interface Windows.ApplicationModel.Preview.IStartupAppInfoPreview;
            }

            [contract(Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Preview.IStartupAppsManagerPreviewStatics, Windows.ApplicationModel.Preview.StartupAppsPreviewContract, 1.0)]
            [threading(both)]
            runtimeclass StartupAppsManagerPreview
            {
                [default] interface Windows.ApplicationModel.Preview.IStartupAppsManagerPreview;
            }
        }
    }
}
