//
// 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 Security
    {
        namespace Authentication
        {
            namespace Identity
            {
                interface IEnterpriseKeyCredentialRegistrationInfo;

                interface IEnterpriseKeyCredentialRegistrationManager;

                interface IEnterpriseKeyCredentialRegistrationManagerStatics;

                runtimeclass EnterpriseKeyCredentialRegistrationInfo;

                runtimeclass EnterpriseKeyCredentialRegistrationManager;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Security
    {
        namespace Authentication
        {
            namespace Identity
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo*>*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Security
    {
        namespace Authentication
        {
            namespace Identity
            {
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo)]
                [uuid(38321ACC-672B-4823-B603-6B3C753DAF97)]
                interface IEnterpriseKeyCredentialRegistrationInfo : IInspectable
                {
                    [propget] HRESULT TenantId([out] [retval] HSTRING* value);
                    [propget] HRESULT TenantName([out] [retval] HSTRING* value);
                    [propget] HRESULT Subject([out] [retval] HSTRING* value);
                    [propget] HRESULT KeyId([out] [retval] HSTRING* value);
                    [propget] HRESULT KeyName([out] [retval] HSTRING* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationManager)]
                [uuid(83F3BE3F-A25F-4CBA-BB8E-BDC32D03C297)]
                interface IEnterpriseKeyCredentialRegistrationManager : IInspectable
                {
                    HRESULT GetRegistrationsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationInfo*>*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationManager)]
                [uuid(77B85E9E-ACF4-4BC0-BAC2-40BB46EFBB3F)]
                interface IEnterpriseKeyCredentialRegistrationManagerStatics : IInspectable
                {
                    [propget] HRESULT Current([out] [retval] Windows.Security.Authentication.Identity.EnterpriseKeyCredentialRegistrationManager** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass EnterpriseKeyCredentialRegistrationInfo
                {
                    [default] interface Windows.Security.Authentication.Identity.IEnterpriseKeyCredentialRegistrationInfo;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Security.Authentication.Identity.IEnterpriseKeyCredentialRegistrationManagerStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [threading(both)]
                runtimeclass EnterpriseKeyCredentialRegistrationManager
                {
                    [default] interface Windows.Security.Authentication.Identity.IEnterpriseKeyCredentialRegistrationManager;
                }
            }
        }
    }
}
