//
// 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.ApplicationModel.Core.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.idl";
import "Windows.UI.StartScreen.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Core
        {
            runtimeclass AppListEntry;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        runtimeclass Deferral;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            typedef struct BitmapSize BitmapSize;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace StartScreen
        {
            runtimeclass SecondaryTile;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct WindowId WindowId;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Shell
        {
            apicontract SecurityAppManagerContract;

            apicontract WindowTabManagerContract;

            typedef enum SecurityAppKind SecurityAppKind;

            typedef enum SecurityAppState SecurityAppState;

            typedef enum SecurityAppSubstatus SecurityAppSubstatus;

            typedef enum ShareWindowCommand ShareWindowCommand;

            interface IAdaptiveCard;

            interface IAdaptiveCardBuilderStatics;

            interface IFocusSession;

            interface IFocusSessionManager;

            interface IFocusSessionManagerStatics;

            interface ISecurityAppManager;

            interface IShareWindowCommandEventArgs;

            interface IShareWindowCommandSource;

            interface IShareWindowCommandSourceStatics;

            interface ITaskbarManager;

            interface ITaskbarManager2;

            interface ITaskbarManagerDesktopAppSupportStatics;

            interface ITaskbarManagerStatics;

            interface IWindowTab;

            interface IWindowTabCloseRequestedEventArgs;

            interface IWindowTabCollection;

            interface IWindowTabGroup;

            interface IWindowTabIcon;

            interface IWindowTabIconStatics;

            interface IWindowTabManager;

            interface IWindowTabManagerStatics;

            interface IWindowTabSwitchRequestedEventArgs;

            interface IWindowTabTearOutRequestedEventArgs;

            interface IWindowTabThumbnailRequestedEventArgs;

            runtimeclass AdaptiveCardBuilder;

            runtimeclass FocusSession;

            runtimeclass FocusSessionManager;

            runtimeclass SecurityAppManager;

            runtimeclass ShareWindowCommandEventArgs;

            runtimeclass ShareWindowCommandSource;

            runtimeclass TaskbarManager;

            runtimeclass WindowTab;

            runtimeclass WindowTabCloseRequestedEventArgs;

            runtimeclass WindowTabCollection;

            runtimeclass WindowTabGroup;

            runtimeclass WindowTabIcon;

            runtimeclass WindowTabManager;

            runtimeclass WindowTabSwitchRequestedEventArgs;

            runtimeclass WindowTabTearOutRequestedEventArgs;

            runtimeclass WindowTabThumbnailRequestedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Shell
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Shell.WindowTab*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.Shell.WindowTab*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.Shell.WindowTab*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.Shell.WindowTab*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.FocusSessionManager*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.ShareWindowCommandSource*, Windows.UI.Shell.ShareWindowCommandEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabCloseRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabSwitchRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabTearOutRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabThumbnailRequestedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Shell
        {
            [contractversion(1.0)]
            apicontract SecurityAppManagerContract
            {
            }

            [contractversion(1.0)]
            apicontract WindowTabManagerContract
            {
            }

            [contract(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            enum SecurityAppKind
            {
                WebProtection = 0
            };

            [contract(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            enum SecurityAppState
            {
                Disabled = 0,
                Enabled  = 1
            };

            [contract(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            enum SecurityAppSubstatus
            {
                Undetermined      = 0,
                NoActionNeeded    = 1,
                ActionRecommended = 2,
                ActionNeeded      = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            enum ShareWindowCommand
            {
                None         = 0,
                StartSharing = 1,
                StopSharing  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [uuid(72D0568C-A274-41CD-82A8-989D40B9B05E)]
            interface IAdaptiveCard : IInspectable
            {
                HRESULT ToJson([out] [retval] HSTRING* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [uuid(766D8F08-D3FE-4347-A0BC-B9EA9A6DC28E)]
            interface IAdaptiveCardBuilderStatics : IInspectable
            {
                HRESULT CreateAdaptiveCardFromJson([in] HSTRING value, [out] [retval] Windows.UI.Shell.IAdaptiveCard** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Shell.FocusSession)]
            [uuid(069FBAB8-0E84-5F2F-8614-9B6544326277)]
            interface IFocusSession : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                HRESULT End();
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Shell.FocusSessionManager)]
            [uuid(E7FFBAA9-D8BE-5DBF-BAC6-49364842E37E)]
            interface IFocusSessionManager : IInspectable
            {
                [propget] HRESULT IsFocusActive([out] [retval] boolean* value);
                HRESULT GetSession([in] HSTRING id, [out] [retval] Windows.UI.Shell.FocusSession** result);
                [overload("TryStartFocusSession")] HRESULT TryStartFocusSession([out] [retval] Windows.UI.Shell.FocusSession** result);
                [overload("TryStartFocusSession")] HRESULT TryStartFocusSession2([in] Windows.Foundation.DateTime endTime, [out] [retval] Windows.UI.Shell.FocusSession** result);
                HRESULT DeactivateFocus();
                [eventadd] HRESULT IsFocusActiveChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.FocusSessionManager*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT IsFocusActiveChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Shell.FocusSessionManager)]
            [uuid(834DF764-CB9A-5D0A-AA9F-73DF4F249395)]
            interface IFocusSessionManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.UI.Shell.FocusSessionManager** result);
                [propget] HRESULT IsSupported([out] [retval] boolean* value);
            }

            [contract(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.SecurityAppManager)]
            [uuid(96AC500C-AED4-561D-BDE8-953520343A2D)]
            interface ISecurityAppManager : IInspectable
            {
                HRESULT Register([in] Windows.UI.Shell.SecurityAppKind kind, [in] HSTRING displayName, [in] Windows.Foundation.Uri* detailsUri, [in] boolean registerPerUser, [out] [retval] GUID* result);
                HRESULT Unregister([in] Windows.UI.Shell.SecurityAppKind kind, [in] GUID guidRegistration);
                HRESULT UpdateState([in] Windows.UI.Shell.SecurityAppKind kind, [in] GUID guidRegistration, [in] Windows.UI.Shell.SecurityAppState state, [in] Windows.UI.Shell.SecurityAppSubstatus substatus, [in] Windows.Foundation.Uri* detailsUri);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Shell.ShareWindowCommandEventArgs)]
            [uuid(4578DC09-A523-5756-A995-E4FEB991FFF0)]
            interface IShareWindowCommandEventArgs : IInspectable
            {
                [propget] HRESULT WindowId([out] [retval] Windows.UI.WindowId* value);
                [propget] HRESULT Command([out] [retval] Windows.UI.Shell.ShareWindowCommand* value);
                [propput] HRESULT Command([in] Windows.UI.Shell.ShareWindowCommand value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Shell.ShareWindowCommandSource)]
            [uuid(CB3B7AE3-6B9C-561E-BCCC-61E68E0ABFEF)]
            interface IShareWindowCommandSource : IInspectable
            {
                HRESULT Start();
                HRESULT Stop();
                HRESULT ReportCommandChanged();
                [eventadd] HRESULT CommandRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.ShareWindowCommandSource*, Windows.UI.Shell.ShareWindowCommandEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CommandRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT CommandInvoked([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.ShareWindowCommandSource*, Windows.UI.Shell.ShareWindowCommandEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CommandInvoked([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Shell.ShareWindowCommandSource)]
            [uuid(B0EB6656-9CAC-517C-B6C7-8EF715084295)]
            interface IShareWindowCommandSourceStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Shell.ShareWindowCommandSource** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Shell.TaskbarManager)]
            [uuid(87490A19-1AD9-49F4-B2E8-86738DC5AC40)]
            interface ITaskbarManager : IInspectable
            {
                [propget] HRESULT IsSupported([out] [retval] boolean* value);
                [propget] HRESULT IsPinningAllowed([out] [retval] boolean* value);
                HRESULT IsCurrentAppPinnedAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT IsAppListEntryPinnedAsync([in] Windows.ApplicationModel.Core.AppListEntry* appListEntry, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RequestPinCurrentAppAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RequestPinAppListEntryAsync([in] Windows.ApplicationModel.Core.AppListEntry* appListEntry, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Shell.TaskbarManager)]
            [uuid(79F0A06E-7B02-4911-918C-DEE0BBD20BA4)]
            interface ITaskbarManager2 : IInspectable
                requires
                    Windows.UI.Shell.ITaskbarManager
            {
                HRESULT IsSecondaryTilePinnedAsync([in] HSTRING tileId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RequestPinSecondaryTileAsync([in] Windows.UI.StartScreen.SecondaryTile* secondaryTile, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryUnpinSecondaryTileAsync([in] HSTRING tileId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.UI.Shell.TaskbarManager)]
            [uuid(CDFEFD63-E879-4134-B9A7-8283F05F9480)]
            interface ITaskbarManagerDesktopAppSupportStatics : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Shell.TaskbarManager)]
            [uuid(DB32AB74-DE52-4FE6-B7B6-95FF9F8395DF)]
            interface ITaskbarManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.UI.Shell.TaskbarManager** result);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTab)]
            [uuid(551E776A-7928-4D60-BDD9-672B5A5758EB)]
            interface IWindowTab : IInspectable
            {
                [propget] HRESULT Tag([out] [retval] IInspectable** value);
                [propput] HRESULT Tag([in] IInspectable* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT Icon([out] [retval] Windows.UI.Shell.WindowTabIcon** value);
                [propput] HRESULT Icon([in] Windows.UI.Shell.WindowTabIcon* value);
                [propget] HRESULT TreatAsSecondaryTileId([out] [retval] HSTRING* value);
                [propput] HRESULT TreatAsSecondaryTileId([in] HSTRING value);
                [propget] HRESULT Group([out] [retval] Windows.UI.Shell.WindowTabGroup** value);
                [propput] HRESULT Group([in] Windows.UI.Shell.WindowTabGroup* value);
                HRESULT ReportThumbnailAvailable();
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabCloseRequestedEventArgs)]
            [uuid(477282E9-EEC4-5882-9889-2DD64D0F9FB6)]
            interface IWindowTabCloseRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Tab([out] [retval] Windows.UI.Shell.WindowTab** value);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabCollection)]
            [uuid(ACCD0D6C-ED07-519A-8C33-17E02E7E9B0F)]
            interface IWindowTabCollection : IInspectable
            {
                HRESULT MoveTab([in] Windows.UI.Shell.WindowTab* tab, [in] UINT32 index);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabGroup)]
            [uuid(A9C2C4FE-6CFE-449C-8B57-5756771ABE56)]
            interface IWindowTabGroup : IInspectable
            {
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT Icon([out] [retval] Windows.UI.Shell.WindowTabIcon** value);
                [propput] HRESULT Icon([in] Windows.UI.Shell.WindowTabIcon* value);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabIcon)]
            [uuid(F92F398F-3669-4D0C-A183-14DDAE6F6538)]
            interface IWindowTabIcon : IInspectable
            {
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabIcon)]
            [uuid(2E18D95E-2CBB-4084-AF0C-36EE1C2D54B1)]
            interface IWindowTabIconStatics : IInspectable
            {
                [overload("CreateFromFontGlyph")] HRESULT CreateFromFontGlyph([in] HSTRING glyph, [in] HSTRING fontFamily, [out] [retval] Windows.UI.Shell.WindowTabIcon** result);
                [overload("CreateFromFontGlyph")] HRESULT CreateFromFontGlyphWithUri([in] HSTRING glyph, [in] HSTRING fontFamily, [in] Windows.Foundation.Uri* fontUri, [out] [retval] Windows.UI.Shell.WindowTabIcon** result);
                HRESULT CreateFromImage([in] Windows.Storage.Streams.IRandomAccessStreamReference* image, [out] [retval] Windows.UI.Shell.WindowTabIcon** result);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabManager)]
            [uuid(97B3C697-F43A-43E7-B3A2-E889A9835599)]
            interface IWindowTabManager : IInspectable
            {
                [propget] HRESULT Tabs([out] [retval] Windows.UI.Shell.WindowTabCollection** value);
                HRESULT SetActiveTab([in] Windows.UI.Shell.WindowTab* tab);
                [eventadd] HRESULT TabSwitchRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabSwitchRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TabSwitchRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT TabCloseRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabCloseRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TabCloseRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT TabTearOutRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabTearOutRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TabTearOutRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT TabThumbnailRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Shell.WindowTabManager*, Windows.UI.Shell.WindowTabThumbnailRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TabThumbnailRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabManager)]
            [uuid(76755668-45F0-4E0B-8172-4E6D9D0F87BD)]
            interface IWindowTabManagerStatics : IInspectable
            {
                HRESULT GetForWindow([in] Windows.UI.WindowId id, [out] [retval] Windows.UI.Shell.WindowTabManager** result);
                HRESULT IsSupported([out] [retval] boolean* result);
                HRESULT IsTabTearOutSupported([out] [retval] boolean* result);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabSwitchRequestedEventArgs)]
            [uuid(7CBC421A-58A4-568B-A351-F8A947A5AAD8)]
            interface IWindowTabSwitchRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Tab([out] [retval] Windows.UI.Shell.WindowTab** value);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabTearOutRequestedEventArgs)]
            [uuid(17D66659-5005-5ECE-99AF-566306E73642)]
            interface IWindowTabTearOutRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Tab([out] [retval] Windows.UI.Shell.WindowTab** value);
                [propget] HRESULT WindowId([out] [retval] UINT64* value);
                [propput] HRESULT WindowId([in] UINT64 value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [exclusiveto(Windows.UI.Shell.WindowTabThumbnailRequestedEventArgs)]
            [uuid(2D558E54-9C4E-5ABC-AB72-3350FB4937A0)]
            interface IWindowTabThumbnailRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Tab([out] [retval] Windows.UI.Shell.WindowTab** value);
                [propget] HRESULT RequestedSize([out] [retval] Windows.Graphics.Imaging.BitmapSize* value);
                [propget] HRESULT Image([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT Image([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                [propget] HRESULT IsCompositedOnWindow([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.IAdaptiveCardBuilderStatics, Windows.Foundation.UniversalApiContract, 5.0)]
            [threading(both)]
            runtimeclass AdaptiveCardBuilder
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            runtimeclass FocusSession
            {
                [default] interface Windows.UI.Shell.IFocusSession;
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.IFocusSessionManagerStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass FocusSessionManager
            {
                [default] interface Windows.UI.Shell.IFocusSessionManager;
            }

            [activatable(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            [contract(Windows.UI.Shell.SecurityAppManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SecurityAppManager
            {
                [default] interface Windows.UI.Shell.ISecurityAppManager;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            runtimeclass ShareWindowCommandEventArgs
            {
                [default] interface Windows.UI.Shell.IShareWindowCommandEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.IShareWindowCommandSourceStatics, Windows.Foundation.UniversalApiContract, 13.0)]
            [threading(both)]
            runtimeclass ShareWindowCommandSource
            {
                [default] interface Windows.UI.Shell.IShareWindowCommandSource;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.ITaskbarManagerDesktopAppSupportStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [static(Windows.UI.Shell.ITaskbarManagerStatics, Windows.Foundation.UniversalApiContract, 5.0)]
            [threading(both)]
            runtimeclass TaskbarManager
            {
                [default] interface Windows.UI.Shell.ITaskbarManager;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Shell.ITaskbarManager2;
            }

            [activatable(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass WindowTab
            {
                [default] interface Windows.UI.Shell.IWindowTab;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowTabCloseRequestedEventArgs
            {
                [default] interface Windows.UI.Shell.IWindowTabCloseRequestedEventArgs;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowTabCollection
            {
                [default] interface Windows.UI.Shell.IWindowTabCollection;
                interface Windows.Foundation.Collections.IVector<Windows.UI.Shell.WindowTab*>;
                interface Windows.Foundation.Collections.IIterable<Windows.UI.Shell.WindowTab*>;
            }

            [activatable(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass WindowTabGroup
            {
                [default] interface Windows.UI.Shell.IWindowTabGroup;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.IWindowTabIconStatics, Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [threading(both)]
            runtimeclass WindowTabIcon
            {
                [default] interface Windows.UI.Shell.IWindowTabIcon;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Shell.IWindowTabManagerStatics, Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [threading(both)]
            runtimeclass WindowTabManager
            {
                [default] interface Windows.UI.Shell.IWindowTabManager;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowTabSwitchRequestedEventArgs
            {
                [default] interface Windows.UI.Shell.IWindowTabSwitchRequestedEventArgs;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowTabTearOutRequestedEventArgs
            {
                [default] interface Windows.UI.Shell.IWindowTabTearOutRequestedEventArgs;
            }

            [contract(Windows.UI.Shell.WindowTabManagerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowTabThumbnailRequestedEventArgs
            {
                [default] interface Windows.UI.Shell.IWindowTabThumbnailRequestedEventArgs;
            }
        }
    }
}
