//
// 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.System.idl";
import "Windows.UI.idl";
import "Windows.UI.Composition.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IAsyncAction;

        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct Size Size;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass DispatcherQueue;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            interface IVisualElement;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        runtimeclass UIContentRoot;

        runtimeclass UIContext;

        typedef struct WindowId WindowId;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace WindowManagement
        {
            typedef enum AppWindowClosedReason AppWindowClosedReason;

            typedef enum AppWindowFrameStyle AppWindowFrameStyle;

            typedef enum AppWindowPresentationKind AppWindowPresentationKind;

            typedef enum AppWindowTitleBarVisibility AppWindowTitleBarVisibility;

            typedef enum WindowingEnvironmentKind WindowingEnvironmentKind;

            interface IAppWindow;

            interface IAppWindowChangedEventArgs;

            interface IAppWindowCloseRequestedEventArgs;

            interface IAppWindowClosedEventArgs;

            interface IAppWindowFrame;

            interface IAppWindowFrameStyle;

            interface IAppWindowPlacement;

            interface IAppWindowPresentationConfiguration;

            interface IAppWindowPresentationConfigurationFactory;

            interface IAppWindowPresenter;

            interface IAppWindowStatics;

            interface IAppWindowTitleBar;

            interface IAppWindowTitleBarOcclusion;

            interface IAppWindowTitleBarVisibility;

            interface ICompactOverlayPresentationConfiguration;

            interface IDefaultPresentationConfiguration;

            interface IDisplayRegion;

            interface IFullScreenPresentationConfiguration;

            interface IWindowServicesStatics;

            interface IWindowingEnvironment;

            interface IWindowingEnvironmentAddedEventArgs;

            interface IWindowingEnvironmentChangedEventArgs;

            interface IWindowingEnvironmentRemovedEventArgs;

            interface IWindowingEnvironmentStatics;

            runtimeclass AppWindow;

            runtimeclass AppWindowChangedEventArgs;

            runtimeclass AppWindowCloseRequestedEventArgs;

            runtimeclass AppWindowClosedEventArgs;

            runtimeclass AppWindowFrame;

            runtimeclass AppWindowPlacement;

            runtimeclass AppWindowPresentationConfiguration;

            runtimeclass AppWindowPresenter;

            runtimeclass AppWindowTitleBar;

            runtimeclass AppWindowTitleBarOcclusion;

            runtimeclass CompactOverlayPresentationConfiguration;

            runtimeclass DefaultPresentationConfiguration;

            runtimeclass DisplayRegion;

            runtimeclass FullScreenPresentationConfiguration;

            runtimeclass WindowServices;

            runtimeclass WindowingEnvironment;

            runtimeclass WindowingEnvironmentAddedEventArgs;

            runtimeclass WindowingEnvironmentChangedEventArgs;

            runtimeclass WindowingEnvironmentRemovedEventArgs;
        }
    }
}

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

                interface Windows.Foundation.Collections.IIterable<Windows.UI.WindowManagement.DisplayRegion*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.WindowManagement.WindowingEnvironment*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.WindowManagement.AppWindowTitleBarOcclusion*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.WindowManagement.DisplayRegion*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.WindowManagement.WindowingEnvironment*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.AppWindowTitleBarOcclusion*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.DisplayRegion*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.WindowingEnvironment*>;

                interface Windows.Foundation.IAsyncOperation<Windows.UI.WindowManagement.AppWindow*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowCloseRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.DisplayRegion*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.WindowingEnvironment*, Windows.UI.WindowManagement.WindowingEnvironmentChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace WindowManagement
        {
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            enum AppWindowClosedReason
            {
                Other         = 0,
                AppInitiated  = 1,
                UserInitiated = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            enum AppWindowFrameStyle
            {
                Default = 0,
                NoFrame = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            enum AppWindowPresentationKind
            {
                Default        = 0,
                CompactOverlay = 1,
                FullScreen     = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            enum AppWindowTitleBarVisibility
            {
                Default      = 0,
                AlwaysHidden = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            enum WindowingEnvironmentKind
            {
                Unknown    = 0,
                Overlapped = 1,
                Tiled      = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindow)]
            [uuid(663014A6-B75E-5DBD-995C-F0117FA3FB61)]
            interface IAppWindow : IInspectable
            {
                [propget] HRESULT Content([out] [retval] Windows.UI.UIContentRoot** value);
                [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
                [propget] HRESULT Frame([out] [retval] Windows.UI.WindowManagement.AppWindowFrame** value);
                [propget] HRESULT IsVisible([out] [retval] boolean* value);
                [propget] HRESULT PersistedStateId([out] [retval] HSTRING* value);
                [propput] HRESULT PersistedStateId([in] HSTRING value);
                [propget] HRESULT Presenter([out] [retval] Windows.UI.WindowManagement.AppWindowPresenter** value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT TitleBar([out] [retval] Windows.UI.WindowManagement.AppWindowTitleBar** value);
                [propget] HRESULT UIContext([out] [retval] Windows.UI.UIContext** value);
                [propget] HRESULT WindowingEnvironment([out] [retval] Windows.UI.WindowManagement.WindowingEnvironment** value);
                HRESULT CloseAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT GetPlacement([out] [retval] Windows.UI.WindowManagement.AppWindowPlacement** result);
                HRESULT GetDisplayRegions([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.DisplayRegion*>** result);
                HRESULT RequestMoveToDisplayRegion([in] Windows.UI.WindowManagement.DisplayRegion* displayRegion);
                HRESULT RequestMoveAdjacentToCurrentView();
                HRESULT RequestMoveAdjacentToWindow([in] Windows.UI.WindowManagement.AppWindow* anchorWindow);
                HRESULT RequestMoveRelativeToWindowContent([in] Windows.UI.WindowManagement.AppWindow* anchorWindow, [in] Windows.Foundation.Point contentOffset);
                HRESULT RequestMoveRelativeToCurrentViewContent([in] Windows.Foundation.Point contentOffset);
                HRESULT RequestMoveRelativeToDisplayRegion([in] Windows.UI.WindowManagement.DisplayRegion* displayRegion, [in] Windows.Foundation.Point displayRegionOffset);
                HRESULT RequestSize([in] Windows.Foundation.Size frameSize);
                HRESULT TryShowAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
                [eventadd] HRESULT CloseRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.AppWindow*, Windows.UI.WindowManagement.AppWindowCloseRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CloseRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowChangedEventArgs)]
            [uuid(1DE1F3BE-A655-55AD-B2B6-EB240F880356)]
            interface IAppWindowChangedEventArgs : IInspectable
            {
                [propget] HRESULT DidAvailableWindowPresentationsChange([out] [retval] boolean* value);
                [propget] HRESULT DidDisplayRegionsChange([out] [retval] boolean* value);
                [propget] HRESULT DidFrameChange([out] [retval] boolean* value);
                [propget] HRESULT DidSizeChange([out] [retval] boolean* value);
                [propget] HRESULT DidTitleBarChange([out] [retval] boolean* value);
                [propget] HRESULT DidVisibilityChange([out] [retval] boolean* value);
                [propget] HRESULT DidWindowingEnvironmentChange([out] [retval] boolean* value);
                [propget] HRESULT DidWindowPresentationChange([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowCloseRequestedEventArgs)]
            [uuid(E9FF01DA-E7A2-57A8-8B5E-39C4003AFDBB)]
            interface IAppWindowCloseRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Cancel([out] [retval] boolean* value);
                [propput] HRESULT Cancel([in] boolean value);
                HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowClosedEventArgs)]
            [uuid(CC7DF816-9520-5A06-821E-456AD8B358AA)]
            interface IAppWindowClosedEventArgs : IInspectable
            {
                [propget] HRESULT Reason([out] [retval] Windows.UI.WindowManagement.AppWindowClosedReason* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowFrame)]
            [uuid(9EE22601-7E5D-52AF-846B-01DC6C296567)]
            interface IAppWindowFrame : IInspectable
            {
                [propget] HRESULT DragRegionVisuals([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Composition.IVisualElement*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowFrame)]
            [uuid(AC412946-E1AC-5230-944A-C60873DCF4A9)]
            interface IAppWindowFrameStyle : IInspectable
            {
                HRESULT GetFrameStyle([out] [retval] Windows.UI.WindowManagement.AppWindowFrameStyle* result);
                HRESULT SetFrameStyle([in] Windows.UI.WindowManagement.AppWindowFrameStyle frameStyle);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowPlacement)]
            [uuid(03DC815E-E7A9-5857-9C03-7D670594410E)]
            interface IAppWindowPlacement : IInspectable
            {
                [propget] HRESULT DisplayRegion([out] [retval] Windows.UI.WindowManagement.DisplayRegion** value);
                [propget] HRESULT Offset([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Size* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowPresentationConfiguration)]
            [uuid(B5A43EE3-DF33-5E67-BD31-1072457300DF)]
            interface IAppWindowPresentationConfiguration : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.UI.WindowManagement.AppWindowPresentationKind* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowPresentationConfiguration)]
            [uuid(FD3606A6-7875-5DE8-84FF-6351EE13DD0D)]
            interface IAppWindowPresentationConfigurationFactory : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowPresenter)]
            [uuid(5AE9ED73-E1FD-5317-AD78-5A3ED271BBDE)]
            interface IAppWindowPresenter : IInspectable
            {
                HRESULT GetConfiguration([out] [retval] Windows.UI.WindowManagement.AppWindowPresentationConfiguration** result);
                HRESULT IsPresentationSupported([in] Windows.UI.WindowManagement.AppWindowPresentationKind presentationKind, [out] [retval] boolean* result);
                [overload("RequestPresentation")] HRESULT RequestPresentation([in] Windows.UI.WindowManagement.AppWindowPresentationConfiguration* configuration, [out] [retval] boolean* result);
                [default_overload] [overload("RequestPresentation")] HRESULT RequestPresentationByKind([in] Windows.UI.WindowManagement.AppWindowPresentationKind presentationKind, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindow)]
            [uuid(FF1F3EA3-B769-50EF-9873-108CD0E89746)]
            interface IAppWindowStatics : IInspectable
            {
                HRESULT TryCreateAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.WindowManagement.AppWindow*>** operation);
                HRESULT ClearAllPersistedState();
                HRESULT ClearPersistedState([in] HSTRING key);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowTitleBar)]
            [uuid(6E932C84-F644-541D-A2D7-0C262437842D)]
            interface IAppWindowTitleBar : IInspectable
            {
                [propget] HRESULT BackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT BackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonBackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonBackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonHoverBackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonHoverBackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonHoverForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonHoverForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonInactiveBackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonInactiveBackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonInactiveForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonInactiveForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonPressedBackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonPressedBackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ButtonPressedForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ButtonPressedForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT ExtendsContentIntoTitleBar([out] [retval] boolean* value);
                [propput] HRESULT ExtendsContentIntoTitleBar([in] boolean value);
                [propget] HRESULT ForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT ForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT InactiveBackgroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT InactiveBackgroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT InactiveForegroundColor([out] [retval] Windows.Foundation.IReference<Windows.UI.Color>** value);
                [propput] HRESULT InactiveForegroundColor([in] Windows.Foundation.IReference<Windows.UI.Color>* value);
                [propget] HRESULT IsVisible([out] [retval] boolean* value);
                HRESULT GetTitleBarOcclusions([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.AppWindowTitleBarOcclusion*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowTitleBarOcclusion)]
            [uuid(FEA3CFFD-2CCF-5FC3-AEAE-F843876BF37E)]
            interface IAppWindowTitleBarOcclusion : IInspectable
            {
                [propget] HRESULT OccludingRect([out] [retval] Windows.Foundation.Rect* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.AppWindowTitleBar)]
            [uuid(A215A4E3-6E7E-5651-8C3B-624819528154)]
            interface IAppWindowTitleBarVisibility : IInspectable
            {
                HRESULT GetPreferredVisibility([out] [retval] Windows.UI.WindowManagement.AppWindowTitleBarVisibility* result);
                HRESULT SetPreferredVisibility([in] Windows.UI.WindowManagement.AppWindowTitleBarVisibility visibilityMode);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.CompactOverlayPresentationConfiguration)]
            [uuid(A7E5750F-5730-56C6-8E1F-D63FF4D7980D)]
            interface ICompactOverlayPresentationConfiguration : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.DefaultPresentationConfiguration)]
            [uuid(D8C2B53B-2168-5703-A853-D525589FE2B9)]
            interface IDefaultPresentationConfiguration : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.DisplayRegion)]
            [uuid(DB50C3A2-4094-5F47-8CB1-EA01DDAFAA94)]
            interface IDisplayRegion : IInspectable
            {
                [propget] HRESULT DisplayMonitorDeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT IsVisible([out] [retval] boolean* value);
                [propget] HRESULT WorkAreaOffset([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT WorkAreaSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT WindowingEnvironment([out] [retval] Windows.UI.WindowManagement.WindowingEnvironment** value);
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.DisplayRegion*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.FullScreenPresentationConfiguration)]
            [uuid(43D3DCD8-D2A8-503D-A626-15533D6D5F62)]
            interface IFullScreenPresentationConfiguration : IInspectable
            {
                [propget] HRESULT IsExclusive([out] [retval] boolean* value);
                [propput] HRESULT IsExclusive([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowServices)]
            [uuid(CFF4D519-50A6-5C64-97F6-C2D96ADD7F42)]
            interface IWindowServicesStatics : IInspectable
            {
                HRESULT FindAllTopLevelWindowIds([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowId>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowingEnvironment)]
            [uuid(264363C0-2A49-5417-B3AE-48A71C63A3BD)]
            interface IWindowingEnvironment : IInspectable
            {
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propget] HRESULT Kind([out] [retval] Windows.UI.WindowManagement.WindowingEnvironmentKind* value);
                HRESULT GetDisplayRegions([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.DisplayRegion*>** result);
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.UI.WindowManagement.WindowingEnvironment*, Windows.UI.WindowManagement.WindowingEnvironmentChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowingEnvironmentAddedEventArgs)]
            [uuid(FF2A5B7F-F183-5C66-99B2-429082069299)]
            interface IWindowingEnvironmentAddedEventArgs : IInspectable
            {
                [propget] HRESULT WindowingEnvironment([out] [retval] Windows.UI.WindowManagement.WindowingEnvironment** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowingEnvironmentChangedEventArgs)]
            [uuid(4160CFC6-023D-5E9A-B431-350E67DC978A)]
            interface IWindowingEnvironmentChangedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowingEnvironmentRemovedEventArgs)]
            [uuid(2E5B5473-BEFF-5E53-9316-7E775FE568B3)]
            interface IWindowingEnvironmentRemovedEventArgs : IInspectable
            {
                [propget] HRESULT WindowingEnvironment([out] [retval] Windows.UI.WindowManagement.WindowingEnvironment** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.WindowManagement.WindowingEnvironment)]
            [uuid(874E9FB7-C642-55AB-8AA2-162F734A9A72)]
            interface IWindowingEnvironmentStatics : IInspectable
            {
                [overload("FindAll")] HRESULT FindAll([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.WindowingEnvironment*>** result);
                [overload("FindAll")] HRESULT FindAllWithKind([in] Windows.UI.WindowManagement.WindowingEnvironmentKind kind, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.WindowManagement.WindowingEnvironment*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.WindowManagement.IAppWindowStatics, Windows.Foundation.UniversalApiContract, 8.0)]
            [threading(both)]
            runtimeclass AppWindow
            {
                [default] interface Windows.UI.WindowManagement.IAppWindow;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowChangedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowCloseRequestedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowCloseRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowClosedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowFrame
            {
                interface Windows.UI.WindowManagement.IAppWindowFrameStyle;
                [default] interface Windows.UI.WindowManagement.IAppWindowFrame;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowPlacement
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowPlacement;
            }

            [composable(Windows.UI.WindowManagement.IAppWindowPresentationConfigurationFactory, public, Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppWindowPresentationConfiguration
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowPresentationConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowPresenter
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowPresenter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowTitleBar
            {
                interface Windows.UI.WindowManagement.IAppWindowTitleBarVisibility;
                [default] interface Windows.UI.WindowManagement.IAppWindowTitleBar;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass AppWindowTitleBarOcclusion
            {
                [default] interface Windows.UI.WindowManagement.IAppWindowTitleBarOcclusion;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CompactOverlayPresentationConfiguration : Windows.UI.WindowManagement.AppWindowPresentationConfiguration
            {
                [default] interface Windows.UI.WindowManagement.ICompactOverlayPresentationConfiguration;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DefaultPresentationConfiguration : Windows.UI.WindowManagement.AppWindowPresentationConfiguration
            {
                [default] interface Windows.UI.WindowManagement.IDefaultPresentationConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass DisplayRegion
            {
                [default] interface Windows.UI.WindowManagement.IDisplayRegion;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FullScreenPresentationConfiguration : Windows.UI.WindowManagement.AppWindowPresentationConfiguration
            {
                [default] interface Windows.UI.WindowManagement.IFullScreenPresentationConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 12.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.WindowManagement.IWindowServicesStatics, Windows.Foundation.UniversalApiContract, 12.0)]
            [threading(both)]
            runtimeclass WindowServices
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.WindowManagement.IWindowingEnvironmentStatics, Windows.Foundation.UniversalApiContract, 8.0)]
            [threading(both)]
            runtimeclass WindowingEnvironment
            {
                [default] interface Windows.UI.WindowManagement.IWindowingEnvironment;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowingEnvironmentAddedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IWindowingEnvironmentAddedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowingEnvironmentChangedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IWindowingEnvironmentChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass WindowingEnvironmentRemovedEventArgs
            {
                [default] interface Windows.UI.WindowManagement.IWindowingEnvironmentRemovedEventArgs;
            }
        }
    }
}
