//
// 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";
import "Windows.Gaming.Input.idl";
import "Windows.Gaming.Input.Custom.idl";

// Forward Declare
namespace Windows
{
    namespace Gaming
    {
        namespace Input
        {
            namespace Custom
            {
                interface IGameControllerProvider;
            }
        }
    }
}
namespace Windows
{
    namespace Gaming
    {
        namespace Input
        {
            apicontract GamingInputPreviewContract;
        }
    }
}
namespace Windows
{
    namespace Gaming
    {
        namespace Input
        {
            namespace Preview
            {
                interface IGameControllerProviderInfoStatics;

                runtimeclass GameControllerProviderInfo;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Gaming
    {
        namespace Input
        {
            namespace Preview
            {
                [contract(Windows.Gaming.Input.GamingInputPreviewContract, 1.0)]
                [exclusiveto(Windows.Gaming.Input.Preview.GameControllerProviderInfo)]
                [uuid(0BE1E6C5-D9BD-44EE-8362-488B2E464BFB)]
                interface IGameControllerProviderInfoStatics : IInspectable
                {
                    HRESULT GetParentProviderId([in] Windows.Gaming.Input.Custom.IGameControllerProvider* provider, [out] [retval] HSTRING* value);
                    HRESULT GetProviderId([in] Windows.Gaming.Input.Custom.IGameControllerProvider* provider, [out] [retval] HSTRING* value);
                }

                [contract(Windows.Gaming.Input.GamingInputPreviewContract, 1.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Gaming.Input.Preview.IGameControllerProviderInfoStatics, Windows.Gaming.Input.GamingInputPreviewContract, 1.0)]
                [threading(both)]
                runtimeclass GameControllerProviderInfo
                {
                }
            }
        }
    }
}
