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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Storage.Streams.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(__windows2Estorage2Estreams_h__)")
cpp_quote("#include <Windows.Storage.Streams.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;
        }
    }
}
namespace Windows
{
    namespace System
    {
        namespace Profile
        {
            interface IHardwareToken;

            interface IHardwareIdentificationStatics;

            runtimeclass HardwareToken;

            runtimeclass HardwareIdentification;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace System
    {
        namespace Profile
        {
            [uuid(28F6D4C0-FB12-40A4-8167-7F4E03D2724C)]
            [exclusiveto(Windows.System.Profile.HardwareToken)]
            [version(0x06020000)]
            interface IHardwareToken : IInspectable
            {
                [propget] HRESULT Id([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT Signature([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT Certificate([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [uuid(971260E0-F170-4A42-BD55-A900B212DAE2)]
            [version(0x06020000)]
            [exclusiveto(Windows.System.Profile.HardwareIdentification)]
            interface IHardwareIdentificationStatics : IInspectable
            {
                HRESULT GetPackageSpecificToken([in] Windows.Storage.Streams.IBuffer* nonce, [out] [retval] Windows.System.Profile.HardwareToken** packageSpecificHardwareToken);
            }

            [marshaling_behavior(agile)]
            [version(0x06020000)]
            runtimeclass HardwareToken
            {
                [default] interface Windows.System.Profile.IHardwareToken;
            }

            [static(Windows.System.Profile.IHardwareIdentificationStatics, 0x06020000)]
            [version(0x06020000)]
            [marshaling_behavior(standard)]
            runtimeclass HardwareIdentification
            {
            }
        }
    }
}
