//
// 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
    {
        interface IStringable;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        namespace Inventory
        {
            interface IInstalledDesktopApp;

            interface IInstalledDesktopAppStatics;

            runtimeclass InstalledDesktopApp;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace System
    {
        namespace Inventory
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.System.Inventory.InstalledDesktopApp*>;

                interface Windows.Foundation.Collections.IIterator<Windows.System.Inventory.InstalledDesktopApp*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.System.Inventory.InstalledDesktopApp*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.Inventory.InstalledDesktopApp*>*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace System
    {
        namespace Inventory
        {
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.Inventory.InstalledDesktopApp)]
            [uuid(75EAB8ED-C0BC-5364-4C28-166E0545167A)]
            interface IInstalledDesktopApp : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT Publisher([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayVersion([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.System.Inventory.InstalledDesktopApp)]
            [uuid(264CF74E-21CD-5F9B-6056-7866AD72489A)]
            interface IInstalledDesktopAppStatics : IInspectable
            {
                HRESULT GetInventoryAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.Inventory.InstalledDesktopApp*>*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.Inventory.IInstalledDesktopAppStatics, Windows.Foundation.UniversalApiContract, 6.0)]
            [threading(both)]
            runtimeclass InstalledDesktopApp
            {
                [default] interface Windows.System.Inventory.IInstalledDesktopApp;
                interface Windows.Foundation.IStringable;
            }
        }
    }
}
