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

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
    {
        interface IAsyncAction;
    }
}
namespace Windows
{
    namespace Embedded
    {
        namespace DeviceLockdown
        {
            interface IDeviceLockdownProfileInformation;

            interface IDeviceLockdownProfileStatics;

            runtimeclass DeviceLockdownProfileInformation;

            runtimeclass DeviceLockdownProfile;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Embedded
    {
        namespace DeviceLockdown
        {
            [exclusiveto(Windows.Embedded.DeviceLockdown.DeviceLockdownProfileInformation)]
            [uuid(7980E14E-45B1-4A96-92FC-62756B739678)]
            [version(0x06030000)]
            interface IDeviceLockdownProfileInformation : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* phProfileName);
            }

            [exclusiveto(Windows.Embedded.DeviceLockdown.DeviceLockdownProfile)]
            [uuid(622F6965-F9A8-41A1-A691-88CD80C7A069)]
            [version(0x06030000)]
            interface IDeviceLockdownProfileStatics : IInspectable
            {
                HRESULT GetSupportedLockdownProfiles([out] [retval] Windows.Foundation.Collections.IVectorView<GUID>** ppProfileIDs);
                HRESULT GetCurrentLockdownProfile([out] [retval] GUID* pProfileID);
                HRESULT ApplyLockdownProfileAsync([in] GUID profileID, [out] [retval] Windows.Foundation.IAsyncAction** ppWaitableOperation);
                HRESULT GetLockdownProfileInformation([in] GUID profileID, [out] [retval] Windows.Embedded.DeviceLockdown.DeviceLockdownProfileInformation** ppInformation);
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceLockdownProfileInformation
            {
                [default] interface Windows.Embedded.DeviceLockdown.IDeviceLockdownProfileInformation;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Embedded.DeviceLockdown.IDeviceLockdownProfileStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceLockdownProfile
            {
            }
        }
    }
}
