//
// 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";
import "Windows.UI.Input.idl";
import "Windows.UI.Input.Inking.idl";
import "Windows.UI.Input.Inking.Core.idl";
import "Windows.UI.Popups.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        interface IClosable;

        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct Size Size;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass DispatcherQueue;

        typedef enum VirtualKey VirtualKey;

        typedef enum VirtualKeyModifiers VirtualKeyModifiers;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            interface IVisualElement;

            runtimeclass Visual;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                namespace Core
                {
                    runtimeclass CoreInkIndependentInputSource;
                }
            }
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Inking
            {
                runtimeclass InkStrokeInput;

                runtimeclass InkUnprocessedInput;
            }
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            runtimeclass KeyboardDeliveryInterceptor;

            runtimeclass PointerPoint;

            runtimeclass TouchpadGesturesController;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Popups
        {
            interface IUICommand;

            delegate UICommandInvokedHandler;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        runtimeclass UIContext;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            apicontract CoreWindowDialogsContract;

            typedef enum AppViewBackButtonVisibility AppViewBackButtonVisibility;

            typedef enum CoreAcceleratorKeyEventType CoreAcceleratorKeyEventType;

            typedef enum CoreCursorType CoreCursorType;

            typedef enum CoreDispatcherPriority CoreDispatcherPriority;

            typedef enum CoreIndependentInputFilters CoreIndependentInputFilters;

            typedef enum CoreInputDeviceTypes CoreInputDeviceTypes;

            typedef enum CoreProcessEventsOption CoreProcessEventsOption;

            typedef enum CoreProximityEvaluationScore CoreProximityEvaluationScore;

            typedef enum CoreVirtualKeyStates CoreVirtualKeyStates;

            typedef enum CoreWindowActivationMode CoreWindowActivationMode;

            typedef enum CoreWindowActivationState CoreWindowActivationState;

            typedef enum CoreWindowFlowDirection CoreWindowFlowDirection;

            typedef struct CorePhysicalKeyStatus CorePhysicalKeyStatus;

            typedef struct CoreProximityEvaluation CoreProximityEvaluation;

            delegate DispatchedHandler;

            delegate IdleDispatchedHandler;

            interface IAcceleratorKeyEventArgs;

            interface IAcceleratorKeyEventArgs2;

            interface IAutomationProviderRequestedEventArgs;

            interface IBackRequestedEventArgs;

            interface ICharacterReceivedEventArgs;

            interface IClosestInteractiveBoundsRequestedEventArgs;

            interface ICoreAcceleratorKeys;

            interface ICoreClosestInteractiveBoundsRequested;

            interface ICoreComponentFocusable;

            interface ICoreCursor;

            interface ICoreCursorFactory;

            interface ICoreDispatcher;

            interface ICoreDispatcher2;

            interface ICoreDispatcherWithTaskPriority;

            interface ICoreIndependentInputSourceController;

            interface ICoreIndependentInputSourceControllerStatics;

            interface ICoreInputSourceBase;

            interface ICoreKeyboardInputSource;

            interface ICoreKeyboardInputSource2;

            interface ICorePointerInputSource;

            interface ICorePointerInputSource2;

            interface ICorePointerRedirector;

            interface ICoreTouchHitTesting;

            interface ICoreWindow;

            interface ICoreWindow2;

            interface ICoreWindow3;

            interface ICoreWindow4;

            interface ICoreWindow5;

            interface ICoreWindowDialog;

            interface ICoreWindowDialogFactory;

            interface ICoreWindowEventArgs;

            interface ICoreWindowFlyout;

            interface ICoreWindowFlyoutFactory;

            interface ICoreWindowPopupShowingEventArgs;

            interface ICoreWindowResizeManager;

            interface ICoreWindowResizeManagerLayoutCapability;

            interface ICoreWindowResizeManagerStatics;

            interface ICoreWindowStatic;

            interface ICoreWindowWithContext;

            interface IIdleDispatchedHandlerArgs;

            interface IInitializeWithCoreWindow;

            interface IInputEnabledEventArgs;

            interface IKeyEventArgs;

            interface IKeyEventArgs2;

            interface IPointerEventArgs;

            interface ISystemNavigationManager;

            interface ISystemNavigationManager2;

            interface ISystemNavigationManagerStatics;

            interface ITouchHitTestingEventArgs;

            interface IVisibilityChangedEventArgs;

            interface IWindowActivatedEventArgs;

            interface IWindowSizeChangedEventArgs;

            runtimeclass AcceleratorKeyEventArgs;

            runtimeclass AutomationProviderRequestedEventArgs;

            runtimeclass BackRequestedEventArgs;

            runtimeclass CharacterReceivedEventArgs;

            runtimeclass ClosestInteractiveBoundsRequestedEventArgs;

            runtimeclass CoreAcceleratorKeys;

            runtimeclass CoreComponentInputSource;

            runtimeclass CoreCursor;

            runtimeclass CoreDispatcher;

            runtimeclass CoreIndependentInputSource;

            runtimeclass CoreIndependentInputSourceController;

            runtimeclass CoreWindow;

            runtimeclass CoreWindowDialog;

            runtimeclass CoreWindowEventArgs;

            runtimeclass CoreWindowFlyout;

            runtimeclass CoreWindowPopupShowingEventArgs;

            runtimeclass CoreWindowResizeManager;

            runtimeclass IdleDispatchedHandlerArgs;

            runtimeclass InputEnabledEventArgs;

            runtimeclass KeyEventArgs;

            runtimeclass PointerEventArgs;

            runtimeclass SystemNavigationManager;

            runtimeclass TouchHitTestingEventArgs;

            runtimeclass VisibilityChangedEventArgs;

            runtimeclass WindowActivatedEventArgs;

            runtimeclass WindowSizeChangedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            declare
            {
                interface Windows.Foundation.EventHandler<Windows.UI.Core.BackRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.CharacterReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.CoreWindowEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.InputEnabledEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.KeyEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.TouchHitTestingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreComponentInputSource*, Windows.UI.Core.ClosestInteractiveBoundsRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreDispatcher*, Windows.UI.Core.AcceleratorKeyEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.AutomationProviderRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CharacterReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.ClosestInteractiveBoundsRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CoreWindowEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CoreWindowPopupShowingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.InputEnabledEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.KeyEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.TouchHitTestingEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.VisibilityChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.WindowActivatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.WindowSizeChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Core.ICorePointerRedirector*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.Core.CoreInkIndependentInputSource*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkStrokeInput*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.Inking.InkUnprocessedInput*, Windows.UI.Core.PointerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.KeyboardDeliveryInterceptor*, Windows.UI.Core.KeyEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.Input.TouchpadGesturesController*, Windows.UI.Core.PointerEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            [contractversion(1.0)]
            apicontract CoreWindowDialogsContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum AppViewBackButtonVisibility
            {
                Visible   = 0,
                Collapsed = 1,
                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                Disabled  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreAcceleratorKeyEventType
            {
                Character           = 2,
                DeadCharacter       = 3,
                KeyDown             = 0,
                KeyUp               = 1,
                SystemCharacter     = 6,
                SystemDeadCharacter = 7,
                SystemKeyDown       = 4,
                SystemKeyUp         = 5,
                UnicodeCharacter    = 8
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreCursorType
            {
                Arrow                  = 0,
                Cross                  = 1,
                Custom                 = 2,
                Hand                   = 3,
                Help                   = 4,
                IBeam                  = 5,
                SizeAll                = 6,
                SizeNortheastSouthwest = 7,
                SizeNorthSouth         = 8,
                SizeNorthwestSoutheast = 9,
                SizeWestEast           = 10,
                UniversalNo            = 11,
                UpArrow                = 12,
                Wait                   = 13,
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                Pin                    = 14,
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                Person                 = 15
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreDispatcherPriority
            {
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Idle   = -2,
                Low    = -1,
                Normal = 0,
                High   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [flags]
            enum CoreIndependentInputFilters
            {
                None          = 0x0,
                MouseButton   = 0x1,
                MouseWheel    = 0x2,
                MouseHover    = 0x4,
                PenWithBarrel = 0x8,
                PenInverted   = 0x10
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum CoreInputDeviceTypes
            {
                None  = 0x0,
                Touch = 0x1,
                Pen   = 0x2,
                Mouse = 0x4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreProcessEventsOption
            {
                ProcessOneAndAllPending = 0,
                ProcessOneIfPresent     = 1,
                ProcessUntilQuit        = 2,
                ProcessAllIfPresent     = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreProximityEvaluationScore
            {
                Closest  = 0,
                Farthest = 2147483647
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum CoreVirtualKeyStates
            {
                None   = 0x0,
                Down   = 0x1,
                Locked = 0x2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum CoreWindowActivationMode
            {
                None                   = 0,
                Deactivated            = 1,
                ActivatedNotForeground = 2,
                ActivatedInForeground  = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreWindowActivationState
            {
                CodeActivated    = 0,
                Deactivated      = 1,
                PointerActivated = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CoreWindowFlowDirection
            {
                LeftToRight = 0,
                RightToLeft = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct CorePhysicalKeyStatus
            {
                UINT32 RepeatCount;
                UINT32 ScanCode;
                boolean IsExtendedKey;
                boolean IsMenuKeyDown;
                boolean WasKeyDown;
                boolean IsKeyReleased;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct CoreProximityEvaluation
            {
                INT32 Score;
                Windows.Foundation.Point AdjustedPoint;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(D1F276C4-98D8-4636-BF49-EB79507548E9)]
            delegate
                HRESULT DispatchedHandler();

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(A42B0C24-7F21-4ABC-99C1-8F01007F0880)]
            delegate
                HRESULT IdleDispatchedHandler([in] Windows.UI.Core.IdleDispatchedHandlerArgs* e);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.AcceleratorKeyEventArgs)]
            [uuid(FF1C4C4A-9287-470B-836E-9086E3126ADE)]
            interface IAcceleratorKeyEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT EventType([out] [retval] Windows.UI.Core.CoreAcceleratorKeyEventType* value);
                [propget] HRESULT VirtualKey([out] [retval] Windows.System.VirtualKey* value);
                [propget] HRESULT KeyStatus([out] [retval] Windows.UI.Core.CorePhysicalKeyStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.AcceleratorKeyEventArgs)]
            [uuid(D300A9F6-2F7E-4873-A555-166E596EE1C5)]
            interface IAcceleratorKeyEventArgs2 : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.AutomationProviderRequestedEventArgs)]
            [uuid(961FF258-21BF-4B42-A298-FA479D4C52E2)]
            interface IAutomationProviderRequestedEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT AutomationProvider([out] [retval] IInspectable** value);
                [propput] HRESULT AutomationProvider([in] IInspectable* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.BackRequestedEventArgs)]
            [uuid(D603D28A-E411-4A4E-BA41-6A327A8675BC)]
            interface IBackRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Handled([out] [retval] boolean* value);
                [propput] HRESULT Handled([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CharacterReceivedEventArgs)]
            [uuid(C584659F-99B2-4BCC-BD33-04E63F42902E)]
            interface ICharacterReceivedEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT KeyCode([out] [retval] UINT32* value);
                [propget] HRESULT KeyStatus([out] [retval] Windows.UI.Core.CorePhysicalKeyStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.ClosestInteractiveBoundsRequestedEventArgs)]
            [uuid(347C11D7-F6F8-40E3-B29F-AE50D3E86486)]
            interface IClosestInteractiveBoundsRequestedEventArgs : IInspectable
            {
                [propget] HRESULT PointerPosition([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT SearchBounds([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT ClosestInteractiveBounds([out] [retval] Windows.Foundation.Rect* value);
                [propput] HRESULT ClosestInteractiveBounds([in] Windows.Foundation.Rect value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(9FFDF7F5-B8C9-4EF0-B7D2-1DE626561FC8)]
            interface ICoreAcceleratorKeys : IInspectable
            {
                [eventadd] HRESULT AcceleratorKeyActivated([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreDispatcher*, Windows.UI.Core.AcceleratorKeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT AcceleratorKeyActivated([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.CoreComponentInputSource)]
            [uuid(F303043A-E8BF-4E8E-AE69-C9DADD57A114)]
            interface ICoreClosestInteractiveBoundsRequested : IInspectable
            {
                [eventadd] HRESULT ClosestInteractiveBoundsRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreComponentInputSource*, Windows.UI.Core.ClosestInteractiveBoundsRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ClosestInteractiveBoundsRequested([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreComponentInputSource)]
            [uuid(52F96FA3-8742-4411-AE69-79A85F29AC8B)]
            interface ICoreComponentFocusable : IInspectable
            {
                [propget] HRESULT HasFocus([out] [retval] boolean* value);
                [eventadd] HRESULT GotFocus([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.CoreWindowEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT GotFocus([in] EventRegistrationToken cookie);
                [eventadd] HRESULT LostFocus([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.CoreWindowEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT LostFocus([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreCursor)]
            [uuid(96893ACF-111D-442C-8A77-B87992F8E2D6)]
            interface ICoreCursor : IInspectable
            {
                [propget] HRESULT Id([out] [retval] UINT32* value);
                [propget] HRESULT Type([out] [retval] Windows.UI.Core.CoreCursorType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreCursor)]
            [uuid(F6359621-A79D-4ED3-8C32-A9EF9D6B76A4)]
            interface ICoreCursorFactory : IInspectable
            {
                HRESULT CreateCursor([in] Windows.UI.Core.CoreCursorType type, [in] UINT32 id, [out] [retval] Windows.UI.Core.CoreCursor** cursor);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreDispatcher)]
            [uuid(60DB2FA8-B705-4FDE-A7D6-EBBB1891D39E)]
            interface ICoreDispatcher : IInspectable
                requires
                    Windows.UI.Core.ICoreAcceleratorKeys
            {
                [propget] HRESULT HasThreadAccess([out] [retval] boolean* value);
                HRESULT ProcessEvents([in] Windows.UI.Core.CoreProcessEventsOption options);
                HRESULT RunAsync([in] Windows.UI.Core.CoreDispatcherPriority priority, [in] Windows.UI.Core.DispatchedHandler* agileCallback, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
                HRESULT RunIdleAsync([in] Windows.UI.Core.IdleDispatchedHandler* agileCallback, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreDispatcher)]
            [uuid(6F5E63C7-E3AA-4EAE-B0E0-DCF321CA4B2F)]
            interface ICoreDispatcher2 : IInspectable
            {
                HRESULT TryRunAsync([in] Windows.UI.Core.CoreDispatcherPriority priority, [in] Windows.UI.Core.DispatchedHandler* agileCallback, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** asyncOperation);
                HRESULT TryRunIdleAsync([in] Windows.UI.Core.IdleDispatchedHandler* agileCallback, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** asyncOperation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreDispatcher)]
            [uuid(BAFAECAD-484D-41BE-BA80-1D58C65263EA)]
            interface ICoreDispatcherWithTaskPriority : IInspectable
            {
                [propget] HRESULT CurrentPriority([out] [retval] Windows.UI.Core.CoreDispatcherPriority* value);
                [propput] HRESULT CurrentPriority([in] Windows.UI.Core.CoreDispatcherPriority value);
                [overload("ShouldYield")] HRESULT ShouldYield([out] [retval] boolean* value);
                [overload("ShouldYield")] HRESULT ShouldYieldToPriority([in] Windows.UI.Core.CoreDispatcherPriority priority, [out] [retval] boolean* value);
                HRESULT StopProcessEvents();
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Core.CoreIndependentInputSourceController)]
            [uuid(0963261C-84FE-578A-83CA-6425309CCDE4)]
            interface ICoreIndependentInputSourceController : IInspectable
            {
                [propget] HRESULT IsTransparentForUncontrolledInput([out] [retval] boolean* value);
                [propput] HRESULT IsTransparentForUncontrolledInput([in] boolean value);
                [propget] HRESULT IsPalmRejectionEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsPalmRejectionEnabled([in] boolean value);
                [propget] HRESULT Source([out] [retval] Windows.UI.Core.CoreIndependentInputSource** value);
                [overload("SetControlledInput")] HRESULT SetControlledInput([in] Windows.UI.Core.CoreInputDeviceTypes inputTypes);
                [overload("SetControlledInput")] HRESULT SetControlledInputWithFilters([in] Windows.UI.Core.CoreInputDeviceTypes inputTypes, [in] Windows.UI.Core.CoreIndependentInputFilters required, [in] Windows.UI.Core.CoreIndependentInputFilters excluded);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.UI.Core.CoreIndependentInputSourceController)]
            [uuid(3EDC4E20-9A8A-5691-8586-FCA4CB57526D)]
            interface ICoreIndependentInputSourceControllerStatics : IInspectable
            {
                HRESULT CreateForVisual([in] Windows.UI.Composition.Visual* visual, [out] [retval] Windows.UI.Core.CoreIndependentInputSourceController** result);
                HRESULT CreateForIVisualElement([in] Windows.UI.Composition.IVisualElement* visualElement, [out] [retval] Windows.UI.Core.CoreIndependentInputSourceController** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(9F488807-4580-4BE8-BE68-92A9311713BB)]
            interface ICoreInputSourceBase : IInspectable
            {
                [propget] HRESULT Dispatcher([out] [retval] Windows.UI.Core.CoreDispatcher** value);
                [propget] HRESULT IsInputEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsInputEnabled([in] boolean value);
                [eventadd] HRESULT InputEnabled([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.InputEnabledEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT InputEnabled([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreComponentInputSource)]
            [uuid(231C9088-E469-4DF1-B208-6E490D71CB90)]
            interface ICoreKeyboardInputSource : IInspectable
            {
                HRESULT GetCurrentKeyState([in] Windows.System.VirtualKey virtualKey, [out] [retval] Windows.UI.Core.CoreVirtualKeyStates* KeyState);
                [eventadd] HRESULT CharacterReceived([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.CharacterReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT CharacterReceived([in] EventRegistrationToken cookie);
                [eventadd] HRESULT KeyDown([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT KeyDown([in] EventRegistrationToken cookie);
                [eventadd] HRESULT KeyUp([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT KeyUp([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.CoreComponentInputSource)]
            [uuid(FA24CB94-F963-47A5-8778-207C482B0AFD)]
            interface ICoreKeyboardInputSource2 : IInspectable
            {
                HRESULT GetCurrentKeyEventDeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(BBF1BB18-E47A-48EB-8807-F8F8D3EA4551)]
            interface ICorePointerInputSource : IInspectable
            {
                HRESULT ReleasePointerCapture();
                HRESULT SetPointerCapture();
                [propget] HRESULT HasCapture([out] [retval] boolean* value);
                [propget] HRESULT PointerPosition([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT PointerCursor([out] [retval] Windows.UI.Core.CoreCursor** value);
                [propput] HRESULT PointerCursor([in] Windows.UI.Core.CoreCursor* value);
                [eventadd] HRESULT PointerCaptureLost([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerCaptureLost([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerEntered([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerEntered([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerExited([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerExited([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerMoved([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerMoved([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerPressed([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerPressed([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerReleased([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerReleased([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerWheelChanged([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerWheelChanged([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [uuid(D703708A-4516-4786-B1E5-2751D563F997)]
            interface ICorePointerInputSource2 : IInspectable
                requires
                    Windows.UI.Core.ICorePointerInputSource
            {
                [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [uuid(8F9D0C94-5688-4B0C-A9F1-F931F7FA3DC3)]
            interface ICorePointerRedirector : IInspectable
            {
                [eventadd] HRESULT PointerRoutedAway([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.ICorePointerRedirector*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerRoutedAway([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerRoutedTo([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.ICorePointerRedirector*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerRoutedTo([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerRoutedReleased([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.ICorePointerRedirector*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerRoutedReleased([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreComponentInputSource)]
            [uuid(B1D8A289-3ACF-4124-9FA3-EA8ABA353C21)]
            interface ICoreTouchHitTesting : IInspectable
            {
                [eventadd] HRESULT TouchHitTesting([in] Windows.Foundation.TypedEventHandler<IInspectable*, Windows.UI.Core.TouchHitTestingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT TouchHitTesting([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(79B9D5F2-879E-4B89-B798-79E47598030C)]
            interface ICoreWindow : IInspectable
            {
                [propget] HRESULT AutomationHostProvider([out] [retval] IInspectable** value);
                [propget] HRESULT Bounds([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT CustomProperties([out] [retval] Windows.Foundation.Collections.IPropertySet** value);
                [propget] HRESULT Dispatcher([out] [retval] Windows.UI.Core.CoreDispatcher** value);
                [propget] HRESULT FlowDirection([out] [retval] Windows.UI.Core.CoreWindowFlowDirection* value);
                [propput] HRESULT FlowDirection([in] Windows.UI.Core.CoreWindowFlowDirection value);
                [propget] HRESULT IsInputEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsInputEnabled([in] boolean value);
                [propget] HRESULT PointerCursor([out] [retval] Windows.UI.Core.CoreCursor** value);
                [propput] HRESULT PointerCursor([in] Windows.UI.Core.CoreCursor* value);
                [propget] HRESULT PointerPosition([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT Visible([out] [retval] boolean* value);
                HRESULT Activate();
                HRESULT Close();
                HRESULT GetAsyncKeyState([in] Windows.System.VirtualKey virtualKey, [out] [retval] Windows.UI.Core.CoreVirtualKeyStates* KeyState);
                HRESULT GetKeyState([in] Windows.System.VirtualKey virtualKey, [out] [retval] Windows.UI.Core.CoreVirtualKeyStates* KeyState);
                HRESULT ReleasePointerCapture();
                HRESULT SetPointerCapture();
                [eventadd] HRESULT Activated([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.WindowActivatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT Activated([in] EventRegistrationToken cookie);
                [eventadd] HRESULT AutomationProviderRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.AutomationProviderRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT AutomationProviderRequested([in] EventRegistrationToken cookie);
                [eventadd] HRESULT CharacterReceived([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CharacterReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT CharacterReceived([in] EventRegistrationToken cookie);
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CoreWindowEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT Closed([in] EventRegistrationToken cookie);
                [eventadd] HRESULT InputEnabled([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.InputEnabledEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT InputEnabled([in] EventRegistrationToken cookie);
                [eventadd] HRESULT KeyDown([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT KeyDown([in] EventRegistrationToken cookie);
                [eventadd] HRESULT KeyUp([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.KeyEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT KeyUp([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerCaptureLost([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerCaptureLost([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerEntered([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerEntered([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerExited([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerExited([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerMoved([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerMoved([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerPressed([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerPressed([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerReleased([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerReleased([in] EventRegistrationToken cookie);
                [eventadd] HRESULT TouchHitTesting([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.TouchHitTestingEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT TouchHitTesting([in] EventRegistrationToken cookie);
                [eventadd] HRESULT PointerWheelChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.PointerEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT PointerWheelChanged([in] EventRegistrationToken cookie);
                [eventadd] HRESULT SizeChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.WindowSizeChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT SizeChanged([in] EventRegistrationToken cookie);
                [eventadd] HRESULT VisibilityChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.VisibilityChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT VisibilityChanged([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(7C2B1B85-6917-4361-9C02-0D9E3A420B95)]
            interface ICoreWindow2 : IInspectable
            {
                [propput] HRESULT PointerPosition([in] Windows.Foundation.Point value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(32C20DD8-FAEF-4375-A2AB-32640E4815C7)]
            interface ICoreWindow3 : IInspectable
            {
                [eventadd] HRESULT ClosestInteractiveBoundsRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.ClosestInteractiveBoundsRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ClosestInteractiveBoundsRequested([in] EventRegistrationToken cookie);
                HRESULT GetCurrentKeyEventDeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(35CAF0D0-47F0-436C-AF97-0DD88F6F5F02)]
            interface ICoreWindow4 : IInspectable
            {
                [eventadd] HRESULT ResizeStarted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ResizeStarted([in] EventRegistrationToken cookie);
                [eventadd] HRESULT ResizeCompleted([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* pCookie);
                [eventremove] HRESULT ResizeCompleted([in] EventRegistrationToken cookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(4B4AE1E1-2E6D-4EAA-BDA1-1C5CC1BEE141)]
            interface ICoreWindow5 : IInspectable
            {
                [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
                [propget] HRESULT ActivationMode([out] [retval] Windows.UI.Core.CoreWindowActivationMode* value);
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowDialog)]
            [uuid(E7392CE0-C78D-427E-8B2C-01FF420C69D5)]
            interface ICoreWindowDialog : IInspectable
            {
                [eventadd] HRESULT Showing([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CoreWindowPopupShowingEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT Showing([in] EventRegistrationToken cookie);
                [propget] HRESULT MaxSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT MinSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT IsInteractionDelayed([out] [retval] INT32* value);
                [propput] HRESULT IsInteractionDelayed([in] INT32 value);
                [propget] HRESULT Commands([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Popups.IUICommand*>** value);
                [propget] HRESULT DefaultCommandIndex([out] [retval] UINT32* value);
                [propput] HRESULT DefaultCommandIndex([in] UINT32 value);
                [propget] HRESULT CancelCommandIndex([out] [retval] UINT32* value);
                [propput] HRESULT CancelCommandIndex([in] UINT32 value);
                [propget] HRESULT BackButtonCommand([out] [retval] Windows.UI.Popups.UICommandInvokedHandler** value);
                [propput] HRESULT BackButtonCommand([in] Windows.UI.Popups.UICommandInvokedHandler* value);
                HRESULT ShowAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.Popups.IUICommand*>** asyncInfo);
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowDialog)]
            [uuid(CFB2A855-1C59-4B13-B1E5-16E29805F7C4)]
            interface ICoreWindowDialogFactory : IInspectable
            {
                HRESULT CreateWithTitle([in] HSTRING title, [out] [retval] Windows.UI.Core.CoreWindowDialog** coreWindowDialog);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(272B1EF3-C633-4DA5-A26C-C6D0F56B29DA)]
            interface ICoreWindowEventArgs : IInspectable
            {
                [propget] HRESULT Handled([out] [retval] boolean* value);
                [propput] HRESULT Handled([in] boolean value);
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowFlyout)]
            [uuid(E89D854D-2050-40BB-B344-F6F355EEB314)]
            interface ICoreWindowFlyout : IInspectable
            {
                [eventadd] HRESULT Showing([in] Windows.Foundation.TypedEventHandler<Windows.UI.Core.CoreWindow*, Windows.UI.Core.CoreWindowPopupShowingEventArgs*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT Showing([in] EventRegistrationToken cookie);
                [propget] HRESULT MaxSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT MinSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT IsInteractionDelayed([out] [retval] INT32* value);
                [propput] HRESULT IsInteractionDelayed([in] INT32 value);
                [propget] HRESULT Commands([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Popups.IUICommand*>** value);
                [propget] HRESULT DefaultCommandIndex([out] [retval] UINT32* value);
                [propput] HRESULT DefaultCommandIndex([in] UINT32 value);
                [propget] HRESULT BackButtonCommand([out] [retval] Windows.UI.Popups.UICommandInvokedHandler** value);
                [propput] HRESULT BackButtonCommand([in] Windows.UI.Popups.UICommandInvokedHandler* value);
                HRESULT ShowAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.Popups.IUICommand*>** asyncInfo);
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowFlyout)]
            [uuid(DEC4C6C4-93E8-4F7C-BE27-CEFAA1AF68A7)]
            interface ICoreWindowFlyoutFactory : IInspectable
            {
                HRESULT Create([in] Windows.Foundation.Point position, [out] [retval] Windows.UI.Core.CoreWindowFlyout** coreWindowFlyout);
                HRESULT CreateWithTitle([in] Windows.Foundation.Point position, [in] HSTRING title, [out] [retval] Windows.UI.Core.CoreWindowFlyout** coreWindowFlyout);
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowPopupShowingEventArgs)]
            [uuid(26155FA2-5BA5-4EA4-A3B4-2DC7D63C8E26)]
            interface ICoreWindowPopupShowingEventArgs : IInspectable
            {
                HRESULT SetDesiredSize([in] Windows.Foundation.Size value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowResizeManager)]
            [uuid(B8F0B925-B350-48B3-A198-5C1A84700243)]
            interface ICoreWindowResizeManager : IInspectable
            {
                HRESULT NotifyLayoutCompleted();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowResizeManager)]
            [uuid(BB74F27B-A544-4301-80E6-0AE033EF4536)]
            interface ICoreWindowResizeManagerLayoutCapability : IInspectable
            {
                [propput] HRESULT ShouldWaitForLayoutCompletion([in] boolean value);
                [propget] HRESULT ShouldWaitForLayoutCompletion([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindowResizeManager)]
            [uuid(AE4A9045-6D70-49DB-8E68-46FFBD17D38D)]
            interface ICoreWindowResizeManagerStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Core.CoreWindowResizeManager** CoreWindowResizeManager);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(4D239005-3C2A-41B1-9022-536BB9CF93B1)]
            interface ICoreWindowStatic : IInspectable
            {
                HRESULT GetForCurrentThread([out] [retval] Windows.UI.Core.CoreWindow** ppWindow);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.UI.Core.CoreWindow)]
            [uuid(9AC40241-3575-4C3B-AF66-E8C529D4D06C)]
            interface ICoreWindowWithContext : IInspectable
            {
                [propget] HRESULT UIContext([out] [retval] Windows.UI.UIContext** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.IdleDispatchedHandlerArgs)]
            [uuid(98BB6A24-DC1C-43CB-B4ED-D1C0EB2391F3)]
            interface IIdleDispatchedHandlerArgs : IInspectable
            {
                [propget] HRESULT IsDispatcherIdle([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(188F20D6-9873-464A-ACE5-57E010F465E6)]
            interface IInitializeWithCoreWindow : IInspectable
            {
                HRESULT Initialize([in] Windows.UI.Core.CoreWindow* window);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.InputEnabledEventArgs)]
            [uuid(80371D4F-2FD8-4C24-AA86-3163A87B4E5A)]
            interface IInputEnabledEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT InputEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.KeyEventArgs)]
            [uuid(5FF5E930-2544-4A17-BD78-1F2FDEBB106B)]
            interface IKeyEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT VirtualKey([out] [retval] Windows.System.VirtualKey* value);
                [propget] HRESULT KeyStatus([out] [retval] Windows.UI.Core.CorePhysicalKeyStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.UI.Core.KeyEventArgs)]
            [uuid(583ADD98-0790-4571-9B12-645EF9D79E42)]
            interface IKeyEventArgs2 : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.PointerEventArgs)]
            [uuid(920D9CB1-A5FC-4A21-8C09-49DFE6FFE25F)]
            interface IPointerEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT CurrentPoint([out] [retval] Windows.UI.Input.PointerPoint** value);
                [propget] HRESULT KeyModifiers([out] [retval] Windows.System.VirtualKeyModifiers* value);
                HRESULT GetIntermediatePoints([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.Input.PointerPoint*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.SystemNavigationManager)]
            [uuid(93023118-CF50-42A6-9706-69107FA122E1)]
            interface ISystemNavigationManager : IInspectable
            {
                [eventadd] HRESULT BackRequested([in] Windows.Foundation.EventHandler<Windows.UI.Core.BackRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT BackRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.SystemNavigationManager)]
            [uuid(8C510401-67BE-49AE-9509-671C1E54A389)]
            interface ISystemNavigationManager2 : IInspectable
            {
                [propget] HRESULT AppViewBackButtonVisibility([out] [retval] Windows.UI.Core.AppViewBackButtonVisibility* value);
                [propput] HRESULT AppViewBackButtonVisibility([in] Windows.UI.Core.AppViewBackButtonVisibility value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.SystemNavigationManager)]
            [uuid(DC52B5CE-BEE0-4305-8C54-68228ED683B5)]
            interface ISystemNavigationManagerStatics : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.UI.Core.SystemNavigationManager** loader);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.TouchHitTestingEventArgs)]
            [uuid(22F3B823-0B7C-424E-9DF7-33D4F962931B)]
            interface ITouchHitTestingEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT ProximityEvaluation([out] [retval] Windows.UI.Core.CoreProximityEvaluation* value);
                [propput] HRESULT ProximityEvaluation([in] Windows.UI.Core.CoreProximityEvaluation value);
                [propget] HRESULT Point([out] [retval] Windows.Foundation.Point* value);
                [propget] HRESULT BoundingBox([out] [retval] Windows.Foundation.Rect* value);
                [default_overload] [overload("EvaluateProximity")] HRESULT EvaluateProximityToRect([in] Windows.Foundation.Rect controlBoundingBox, [out] [retval] Windows.UI.Core.CoreProximityEvaluation* proximityEvaluation);
                [overload("EvaluateProximity")] HRESULT EvaluateProximityToPolygon([in] UINT32 __controlVerticesSize, [in] [size_is(__controlVerticesSize)] Windows.Foundation.Point* controlVertices, [out] [retval] Windows.UI.Core.CoreProximityEvaluation* proximityEvaluation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.VisibilityChangedEventArgs)]
            [uuid(BF9918EA-D801-4564-A495-B1E84F8AD085)]
            interface IVisibilityChangedEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT Visible([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.WindowActivatedEventArgs)]
            [uuid(179D65E7-4658-4CB6-AA13-41D094EA255E)]
            interface IWindowActivatedEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT WindowActivationState([out] [retval] Windows.UI.Core.CoreWindowActivationState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.Core.WindowSizeChangedEventArgs)]
            [uuid(5A200EC7-0426-47DC-B86C-6F475915E451)]
            interface IWindowSizeChangedEventArgs : IInspectable
                requires
                    Windows.UI.Core.ICoreWindowEventArgs
            {
                [propget] HRESULT Size([out] [retval] Windows.Foundation.Size* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass AcceleratorKeyEventArgs
            {
                [default] interface Windows.UI.Core.IAcceleratorKeyEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Core.IAcceleratorKeyEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass AutomationProviderRequestedEventArgs
            {
                [default] interface Windows.UI.Core.IAutomationProviderRequestedEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BackRequestedEventArgs
            {
                [default] interface Windows.UI.Core.IBackRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass CharacterReceivedEventArgs
            {
                [default] interface Windows.UI.Core.ICharacterReceivedEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(standard)]
            runtimeclass ClosestInteractiveBoundsRequestedEventArgs
            {
                [default] interface Windows.UI.Core.IClosestInteractiveBoundsRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CoreAcceleratorKeys
            {
                [default] interface Windows.UI.Core.ICoreAcceleratorKeys;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CoreComponentInputSource
            {
                [default] interface Windows.UI.Core.ICoreInputSourceBase;
                interface Windows.UI.Core.ICorePointerInputSource;
                interface Windows.UI.Core.ICoreKeyboardInputSource;
                interface Windows.UI.Core.ICoreComponentFocusable;
                interface Windows.UI.Core.ICoreTouchHitTesting;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Core.ICoreClosestInteractiveBoundsRequested;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Core.ICoreKeyboardInputSource2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Core.ICorePointerInputSource2;
            }

            [activatable(Windows.UI.Core.ICoreCursorFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CoreCursor
            {
                [default] interface Windows.UI.Core.ICoreCursor;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CoreDispatcher
            {
                [default] interface Windows.UI.Core.ICoreDispatcher;
                interface Windows.UI.Core.ICoreAcceleratorKeys;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Core.ICoreDispatcherWithTaskPriority;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Core.ICoreDispatcher2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CoreIndependentInputSource
            {
                [default] interface Windows.UI.Core.ICoreInputSourceBase;
                interface Windows.UI.Core.ICorePointerInputSource;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Core.ICorePointerInputSource2;
                [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.UI.Core.ICorePointerRedirector;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Core.ICoreIndependentInputSourceControllerStatics, Windows.Foundation.UniversalApiContract, 13.0)]
            [threading(both)]
            runtimeclass CoreIndependentInputSourceController
            {
                [default] interface Windows.UI.Core.ICoreIndependentInputSourceController;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            [static(Windows.UI.Core.ICoreWindowStatic, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass CoreWindow
            {
                [default] interface Windows.UI.Core.ICoreWindow;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Core.ICoreWindow2;
                [contract(Windows.Foundation.UniversalApiContract, 2.0)] interface Windows.UI.Core.ICorePointerRedirector;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Core.ICoreWindow3;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Core.ICoreWindow4;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Core.ICoreWindow5;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Core.ICoreWindowWithContext;
            }

            [activatable(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [activatable(Windows.UI.Core.ICoreWindowDialogFactory, Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass CoreWindowDialog
            {
                [default] interface Windows.UI.Core.ICoreWindowDialog;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass CoreWindowEventArgs
            {
                [default] interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [activatable(Windows.UI.Core.ICoreWindowFlyoutFactory, Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass CoreWindowFlyout
            {
                [default] interface Windows.UI.Core.ICoreWindowFlyout;
            }

            [contract(Windows.UI.Core.CoreWindowDialogsContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass CoreWindowPopupShowingEventArgs
            {
                [default] interface Windows.UI.Core.ICoreWindowPopupShowingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Core.ICoreWindowResizeManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass CoreWindowResizeManager
            {
                [default] interface Windows.UI.Core.ICoreWindowResizeManager;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Core.ICoreWindowResizeManagerLayoutCapability;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass IdleDispatchedHandlerArgs
            {
                [default] interface Windows.UI.Core.IIdleDispatchedHandlerArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass InputEnabledEventArgs
            {
                [default] interface Windows.UI.Core.IInputEnabledEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass KeyEventArgs
            {
                [default] interface Windows.UI.Core.IKeyEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.UI.Core.IKeyEventArgs2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass PointerEventArgs
            {
                [default] interface Windows.UI.Core.IPointerEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.Core.ISystemNavigationManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass SystemNavigationManager
            {
                [default] interface Windows.UI.Core.ISystemNavigationManager;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.Core.ISystemNavigationManager2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass TouchHitTestingEventArgs
            {
                [default] interface Windows.UI.Core.ITouchHitTestingEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass VisibilityChangedEventArgs
            {
                [default] interface Windows.UI.Core.IVisibilityChangedEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass WindowActivatedEventArgs
            {
                [default] interface Windows.UI.Core.IWindowActivatedEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(standard)]
            runtimeclass WindowSizeChangedEventArgs
            {
                [default] interface Windows.UI.Core.IWindowSizeChangedEventArgs;
                interface Windows.UI.Core.ICoreWindowEventArgs;
            }
        }
    }
}
