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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.idl";
import "Windows.Gaming.Input.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Search.idl";
import "Windows.Storage.Streams.idl";
import "Windows.System.Diagnostics.idl";
import "Windows.System.RemoteSystems.idl";
import "Windows.UI.Popups.idl";
import "Windows.UI.ViewManagement.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        runtimeclass AppInfo;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;

            runtimeclass ValueSet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        runtimeclass Deferral;

        interface IAsyncAction;

        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Gaming
    {
        namespace Input
        {
            interface IGameController;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;

        interface IStorageFolder;

        interface IStorageItem;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Search
        {
            runtimeclass StorageFileQueryResult;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IInputStream;

            interface IOutputStream;

            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace System
    {
        namespace Diagnostics
        {
            runtimeclass ProcessDiagnosticInfo;
        }
    }
}
namespace Windows
{
    namespace System
    {
        namespace RemoteSystems
        {
            runtimeclass RemoteSystemConnectionRequest;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Popups
        {
            typedef enum Placement Placement;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace ViewManagement
        {
            typedef enum ViewSizePreference ViewSizePreference;
        }
    }
}
namespace Windows
{
    namespace System
    {
        apicontract SystemManagementContract;

        typedef enum AppDiagnosticInfoWatcherStatus AppDiagnosticInfoWatcherStatus;

        typedef enum AppMemoryUsageLevel AppMemoryUsageLevel;

        typedef enum AppResourceGroupEnergyQuotaState AppResourceGroupEnergyQuotaState;

        typedef enum AppResourceGroupExecutionState AppResourceGroupExecutionState;

        typedef enum AppResourceGroupInfoWatcherStatus AppResourceGroupInfoWatcherStatus;

        typedef enum DiagnosticAccessStatus DiagnosticAccessStatus;

        typedef enum DispatcherQueuePriority DispatcherQueuePriority;

        typedef enum LaunchFileStatus LaunchFileStatus;

        typedef enum LaunchQuerySupportStatus LaunchQuerySupportStatus;

        typedef enum LaunchQuerySupportType LaunchQuerySupportType;

        typedef enum LaunchUriStatus LaunchUriStatus;

        typedef enum PowerState PowerState;

        typedef enum ProcessorArchitecture ProcessorArchitecture;

        typedef enum RemoteLaunchUriStatus RemoteLaunchUriStatus;

        typedef enum ShutdownKind ShutdownKind;

        typedef enum UserAuthenticationStatus UserAuthenticationStatus;

        typedef enum UserPictureSize UserPictureSize;

        typedef enum UserType UserType;

        typedef enum UserWatcherStatus UserWatcherStatus;

        typedef enum VirtualKey VirtualKey;

        typedef enum VirtualKeyModifiers VirtualKeyModifiers;

        delegate DispatcherQueueHandler;

        interface IAppDiagnosticInfo;

        interface IAppDiagnosticInfo2;

        interface IAppDiagnosticInfoStatics;

        interface IAppDiagnosticInfoStatics2;

        interface IAppDiagnosticInfoWatcher;

        interface IAppDiagnosticInfoWatcherEventArgs;

        interface IAppMemoryReport;

        interface IAppMemoryReport2;

        interface IAppMemoryUsageLimitChangingEventArgs;

        interface IAppResourceGroupBackgroundTaskReport;

        interface IAppResourceGroupInfo;

        interface IAppResourceGroupInfoWatcher;

        interface IAppResourceGroupInfoWatcherEventArgs;

        interface IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs;

        interface IAppResourceGroupMemoryReport;

        interface IAppResourceGroupStateReport;

        interface IDateTimeSettingsStatics;

        interface IDispatcherQueue;

        interface IDispatcherQueueController;

        interface IDispatcherQueueControllerStatics;

        interface IDispatcherQueueShutdownStartingEventArgs;

        interface IDispatcherQueueStatics;

        interface IDispatcherQueueTimer;

        interface IFolderLauncherOptions;

        interface IKnownUserPropertiesStatics;

        interface ILaunchUriResult;

        interface ILauncherOptions;

        interface ILauncherOptions2;

        interface ILauncherOptions3;

        interface ILauncherOptions4;

        interface ILauncherStatics;

        interface ILauncherStatics2;

        interface ILauncherStatics3;

        interface ILauncherStatics4;

        interface ILauncherUIOptions;

        interface ILauncherViewOptions;

        interface IMemoryManagerStatics;

        interface IMemoryManagerStatics2;

        interface IMemoryManagerStatics3;

        interface IMemoryManagerStatics4;

        interface IProcessLauncherOptions;

        interface IProcessLauncherResult;

        interface IProcessLauncherStatics;

        interface IProcessMemoryReport;

        interface IProtocolForResultsOperation;

        interface IRemoteLauncherOptions;

        interface IRemoteLauncherStatics;

        interface IShutdownManagerStatics;

        interface IShutdownManagerStatics2;

        interface ITimeZoneSettingsStatics;

        interface IUser;

        interface IUserAuthenticationStatusChangeDeferral;

        interface IUserAuthenticationStatusChangingEventArgs;

        interface IUserChangedEventArgs;

        interface IUserDeviceAssociationChangedEventArgs;

        interface IUserDeviceAssociationStatics;

        interface IUserPicker;

        interface IUserPickerStatics;

        interface IUserStatics;

        interface IUserWatcher;

        runtimeclass AppDiagnosticInfo;

        runtimeclass AppDiagnosticInfoWatcher;

        runtimeclass AppDiagnosticInfoWatcherEventArgs;

        runtimeclass AppMemoryReport;

        runtimeclass AppMemoryUsageLimitChangingEventArgs;

        runtimeclass AppResourceGroupBackgroundTaskReport;

        runtimeclass AppResourceGroupInfo;

        runtimeclass AppResourceGroupInfoWatcher;

        runtimeclass AppResourceGroupInfoWatcherEventArgs;

        runtimeclass AppResourceGroupInfoWatcherExecutionStateChangedEventArgs;

        runtimeclass AppResourceGroupMemoryReport;

        runtimeclass AppResourceGroupStateReport;

        runtimeclass DateTimeSettings;

        runtimeclass DispatcherQueue;

        runtimeclass DispatcherQueueController;

        runtimeclass DispatcherQueueShutdownStartingEventArgs;

        runtimeclass DispatcherQueueTimer;

        runtimeclass FolderLauncherOptions;

        runtimeclass KnownUserProperties;

        runtimeclass LaunchUriResult;

        runtimeclass Launcher;

        runtimeclass LauncherOptions;

        runtimeclass LauncherUIOptions;

        runtimeclass MemoryManager;

        runtimeclass ProcessLauncher;

        runtimeclass ProcessLauncherOptions;

        runtimeclass ProcessLauncherResult;

        runtimeclass ProcessMemoryReport;

        runtimeclass ProtocolForResultsOperation;

        runtimeclass RemoteLauncher;

        runtimeclass RemoteLauncherOptions;

        runtimeclass ShutdownManager;

        runtimeclass TimeZoneSettings;

        runtimeclass User;

        runtimeclass UserAuthenticationStatusChangeDeferral;

        runtimeclass UserAuthenticationStatusChangingEventArgs;

        runtimeclass UserChangedEventArgs;

        runtimeclass UserDeviceAssociation;

        runtimeclass UserDeviceAssociationChangedEventArgs;

        runtimeclass UserPicker;

        runtimeclass UserWatcher;
    }
}

// Generic instantiations
namespace Windows
{
    namespace System
    {
        declare
        {
            interface Windows.Foundation.Collections.IIterable<Windows.System.AppDiagnosticInfo*>;

            interface Windows.Foundation.Collections.IIterable<Windows.System.AppResourceGroupBackgroundTaskReport*>;

            interface Windows.Foundation.Collections.IIterable<Windows.System.AppResourceGroupInfo*>;

            interface Windows.Foundation.Collections.IIterable<Windows.System.User*>;

            interface Windows.Foundation.Collections.IIterator<Windows.System.AppDiagnosticInfo*>;

            interface Windows.Foundation.Collections.IIterator<Windows.System.AppResourceGroupBackgroundTaskReport*>;

            interface Windows.Foundation.Collections.IIterator<Windows.System.AppResourceGroupInfo*>;

            interface Windows.Foundation.Collections.IIterator<Windows.System.User*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.System.AppDiagnosticInfo*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.System.AppResourceGroupBackgroundTaskReport*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.System.AppResourceGroupInfo*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.System.User*>;

            interface Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>;

            interface Windows.Foundation.Collections.IVector<Windows.System.AppResourceGroupBackgroundTaskReport*>;

            interface Windows.Foundation.Collections.IVector<Windows.System.AppResourceGroupInfo*>;

            interface Windows.Foundation.EventHandler<Windows.System.AppMemoryUsageLimitChangingEventArgs*>;

            interface Windows.Foundation.EventHandler<Windows.System.UserDeviceAssociationChangedEventArgs*>;

            interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.User*>*>;

            interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>*>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.DiagnosticAccessStatus>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriStatus>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.ProcessLauncherResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.RemoteLaunchUriStatus>;

            interface Windows.Foundation.IAsyncOperation<Windows.System.User*>;

            interface Windows.Foundation.TypedEventHandler<Windows.Gaming.Input.IGameController*, Windows.System.UserChangedEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, IInspectable*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, Windows.System.AppDiagnosticInfoWatcherEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, IInspectable*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, Windows.System.AppResourceGroupInfoWatcherEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, Windows.System.AppResourceGroupInfoWatcherExecutionStateChangedEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue*, IInspectable*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue*, Windows.System.DispatcherQueueShutdownStartingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueueTimer*, IInspectable*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, IInspectable*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserAuthenticationStatusChangingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserChangedEventArgs*>;
        }
    }
}

// Type definition
namespace Windows
{
    namespace System
    {
        [contractversion(4.0)]
        apicontract SystemManagementContract
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum AppDiagnosticInfoWatcherStatus
        {
            Created              = 0,
            Started              = 1,
            EnumerationCompleted = 2,
            Stopping             = 3,
            Stopped              = 4,
            Aborted              = 5
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum AppMemoryUsageLevel
        {
            Low       = 0,
            Medium    = 1,
            High      = 2,
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            OverLimit = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum AppResourceGroupEnergyQuotaState
        {
            Unknown = 0,
            Over    = 1,
            Under   = 2
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum AppResourceGroupExecutionState
        {
            Unknown    = 0,
            Running    = 1,
            Suspending = 2,
            Suspended  = 3,
            NotRunning = 4
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum AppResourceGroupInfoWatcherStatus
        {
            Created              = 0,
            Started              = 1,
            EnumerationCompleted = 2,
            Stopping             = 3,
            Stopped              = 4,
            Aborted              = 5
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum DiagnosticAccessStatus
        {
            Unspecified = 0,
            Denied      = 1,
            Limited     = 2,
            Allowed     = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        enum DispatcherQueuePriority
        {
            Low    = -10,
            Normal = 0,
            High   = 10
        };

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        enum LaunchFileStatus
        {
            Success              = 0,
            AppUnavailable       = 1,
            DeniedByPolicy       = 2,
            FileTypeNotSupported = 3,
            Unknown              = 4
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum LaunchQuerySupportStatus
        {
            Available       = 0,
            AppNotInstalled = 1,
            AppUnavailable  = 2,
            NotSupported    = 3,
            Unknown         = 4
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum LaunchQuerySupportType
        {
            Uri           = 0,
            UriForResults = 1
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum LaunchUriStatus
        {
            Success             = 0,
            AppUnavailable      = 1,
            ProtocolUnavailable = 2,
            Unknown             = 3
        };

        [contract(Windows.System.SystemManagementContract, 3.0)]
        enum PowerState
        {
            ConnectedStandby = 0,
            SleepS3          = 1
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum ProcessorArchitecture
        {
            X86     = 0,
            Arm     = 5,
            X64     = 9,
            Neutral = 11,
            Unknown = 65535
        };

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        enum RemoteLaunchUriStatus
        {
            Unknown                 = 0,
            Success                 = 1,
            AppUnavailable          = 2,
            ProtocolUnavailable     = 3,
            RemoteSystemUnavailable = 4,
            ValueSetTooLarge        = 5,
            DeniedByLocalSystem     = 6,
            DeniedByRemoteSystem    = 7
        };

        [contract(Windows.System.SystemManagementContract, 1.0)]
        enum ShutdownKind
        {
            Shutdown = 0,
            Restart  = 1
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum UserAuthenticationStatus
        {
            Unauthenticated       = 0,
            LocallyAuthenticated  = 1,
            RemotelyAuthenticated = 2
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum UserPictureSize
        {
            Size64x64     = 0,
            Size208x208   = 1,
            Size424x424   = 2,
            Size1080x1080 = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum UserType
        {
            LocalUser   = 0,
            RemoteUser  = 1,
            LocalGuest  = 2,
            RemoteGuest = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum UserWatcherStatus
        {
            Created              = 0,
            Started              = 1,
            EnumerationCompleted = 2,
            Stopping             = 3,
            Stopped              = 4,
            Aborted              = 5
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum VirtualKey
        {
            None                         = 0,
            LeftButton                   = 1,
            RightButton                  = 2,
            Cancel                       = 3,
            MiddleButton                 = 4,
            XButton1                     = 5,
            XButton2                     = 6,
            Back                         = 8,
            Tab                          = 9,
            Clear                        = 12,
            Enter                        = 13,
            Shift                        = 16,
            Control                      = 17,
            Menu                         = 18,
            Pause                        = 19,
            CapitalLock                  = 20,
            Kana                         = 21,
            Hangul                       = 21,
            Junja                        = 23,
            Final                        = 24,
            Hanja                        = 25,
            Kanji                        = 25,
            Escape                       = 27,
            Convert                      = 28,
            NonConvert                   = 29,
            Accept                       = 30,
            ModeChange                   = 31,
            Space                        = 32,
            PageUp                       = 33,
            PageDown                     = 34,
            End                          = 35,
            Home                         = 36,
            Left                         = 37,
            Up                           = 38,
            Right                        = 39,
            Down                         = 40,
            Select                       = 41,
            Print                        = 42,
            Execute                      = 43,
            Snapshot                     = 44,
            Insert                       = 45,
            Delete                       = 46,
            Help                         = 47,
            Number0                      = 48,
            Number1                      = 49,
            Number2                      = 50,
            Number3                      = 51,
            Number4                      = 52,
            Number5                      = 53,
            Number6                      = 54,
            Number7                      = 55,
            Number8                      = 56,
            Number9                      = 57,
            A                            = 65,
            B                            = 66,
            C                            = 67,
            D                            = 68,
            E                            = 69,
            F                            = 70,
            G                            = 71,
            H                            = 72,
            I                            = 73,
            J                            = 74,
            K                            = 75,
            L                            = 76,
            M                            = 77,
            N                            = 78,
            O                            = 79,
            P                            = 80,
            Q                            = 81,
            R                            = 82,
            S                            = 83,
            T                            = 84,
            U                            = 85,
            V                            = 86,
            W                            = 87,
            X                            = 88,
            Y                            = 89,
            Z                            = 90,
            LeftWindows                  = 91,
            RightWindows                 = 92,
            Application                  = 93,
            Sleep                        = 95,
            NumberPad0                   = 96,
            NumberPad1                   = 97,
            NumberPad2                   = 98,
            NumberPad3                   = 99,
            NumberPad4                   = 100,
            NumberPad5                   = 101,
            NumberPad6                   = 102,
            NumberPad7                   = 103,
            NumberPad8                   = 104,
            NumberPad9                   = 105,
            Multiply                     = 106,
            Add                          = 107,
            Separator                    = 108,
            Subtract                     = 109,
            Decimal                      = 110,
            Divide                       = 111,
            F1                           = 112,
            F2                           = 113,
            F3                           = 114,
            F4                           = 115,
            F5                           = 116,
            F6                           = 117,
            F7                           = 118,
            F8                           = 119,
            F9                           = 120,
            F10                          = 121,
            F11                          = 122,
            F12                          = 123,
            F13                          = 124,
            F14                          = 125,
            F15                          = 126,
            F16                          = 127,
            F17                          = 128,
            F18                          = 129,
            F19                          = 130,
            F20                          = 131,
            F21                          = 132,
            F22                          = 133,
            F23                          = 134,
            F24                          = 135,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationView               = 136,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationMenu               = 137,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationUp                 = 138,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationDown               = 139,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationLeft               = 140,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationRight              = 141,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationAccept             = 142,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            NavigationCancel             = 143,
            NumberKeyLock                = 144,
            Scroll                       = 145,
            LeftShift                    = 160,
            RightShift                   = 161,
            LeftControl                  = 162,
            RightControl                 = 163,
            LeftMenu                     = 164,
            RightMenu                    = 165,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GoBack                       = 166,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GoForward                    = 167,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            Refresh                      = 168,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            Stop                         = 169,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            Search                       = 170,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            Favorites                    = 171,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GoHome                       = 172,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadA                     = 195,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadB                     = 196,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadX                     = 197,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadY                     = 198,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightShoulder         = 199,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftShoulder          = 200,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftTrigger           = 201,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightTrigger          = 202,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadDPadUp                = 203,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadDPadDown              = 204,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadDPadLeft              = 205,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadDPadRight             = 206,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadMenu                  = 207,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadView                  = 208,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftThumbstickButton  = 209,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightThumbstickButton = 210,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftThumbstickUp      = 211,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftThumbstickDown    = 212,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftThumbstickRight   = 213,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadLeftThumbstickLeft    = 214,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightThumbstickUp     = 215,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightThumbstickDown   = 216,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightThumbstickRight  = 217,
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            GamepadRightThumbstickLeft   = 218
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [flags]
        enum VirtualKeyModifiers
        {
            None    = 0x0,
            Control = 0x1,
            Menu    = 0x2,
            Shift   = 0x4,
            Windows = 0x8
        };

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [uuid(DFA2DC9C-1A2D-4917-98F2-939AF1D6E0C8)]
        delegate
            HRESULT DispatcherQueueHandler();

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfo)]
        [uuid(E348A69A-8889-4CA3-BE07-D5FFFF5F0804)]
        interface IAppDiagnosticInfo : IInspectable
        {
            [propget] HRESULT AppInfo([out] [retval] Windows.ApplicationModel.AppInfo** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfo)]
        [uuid(DF46FBD7-191A-446C-9473-8FBC2374A354)]
        interface IAppDiagnosticInfo2 : IInspectable
        {
            HRESULT GetResourceGroups([out] [retval] Windows.Foundation.Collections.IVector<Windows.System.AppResourceGroupInfo*>** result);
            HRESULT CreateResourceGroupWatcher([out] [retval] Windows.System.AppResourceGroupInfoWatcher** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfo)]
        [uuid(CE6925BF-10CA-40C8-A9CA-C5C96501866E)]
        interface IAppDiagnosticInfoStatics : IInspectable
        {
            HRESULT RequestInfoAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfo)]
        [uuid(05B24B86-1000-4C90-BB9F-7235071C50FE)]
        interface IAppDiagnosticInfoStatics2 : IInspectable
        {
            HRESULT CreateWatcher([out] [retval] Windows.System.AppDiagnosticInfoWatcher** watcher);
            HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.DiagnosticAccessStatus>** operation);
            HRESULT RequestInfoForPackageAsync([in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>*>** operation);
            [default_overload] [overload("RequestInfoForAppAsync")] HRESULT RequestInfoForAppAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>*>** operation);
            [overload("RequestInfoForAppAsync")] HRESULT RequestInfoForAppUserModelId([in] HSTRING appUserModelId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.System.AppDiagnosticInfo*>*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfoWatcher)]
        [uuid(75575070-01D3-489A-9325-52F9CC6EDE0A)]
        interface IAppDiagnosticInfoWatcher : IInspectable
        {
            [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, Windows.System.AppDiagnosticInfoWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Added([in] EventRegistrationToken token);
            [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, Windows.System.AppDiagnosticInfoWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Removed([in] EventRegistrationToken token);
            [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
            [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.System.AppDiagnosticInfoWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
            [propget] HRESULT Status([out] [retval] Windows.System.AppDiagnosticInfoWatcherStatus* value);
            HRESULT Start();
            HRESULT Stop();
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppDiagnosticInfoWatcherEventArgs)]
        [uuid(7017C716-E1DA-4C65-99DF-046DFF5BE71A)]
        interface IAppDiagnosticInfoWatcherEventArgs : IInspectable
        {
            [propget] HRESULT AppDiagnosticInfo([out] [retval] Windows.System.AppDiagnosticInfo** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.AppMemoryReport)]
        [uuid(6D65339B-4D6F-45BC-9C5E-E49B3FF2758D)]
        interface IAppMemoryReport : IInspectable
        {
            [propget] HRESULT PrivateCommitUsage([out] [retval] UINT64* value);
            [propget] HRESULT PeakPrivateCommitUsage([out] [retval] UINT64* value);
            [propget] HRESULT TotalCommitUsage([out] [retval] UINT64* value);
            [propget] HRESULT TotalCommitLimit([out] [retval] UINT64* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppMemoryReport)]
        [uuid(5F7F3738-51B7-42DC-B7ED-79BA46D28857)]
        interface IAppMemoryReport2 : IInspectable
        {
            [propget] HRESULT ExpectedTotalCommitLimit([out] [retval] UINT64* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.AppMemoryUsageLimitChangingEventArgs)]
        [uuid(79F86664-FECA-4DA5-9E40-2BC63EFDC979)]
        interface IAppMemoryUsageLimitChangingEventArgs : IInspectable
        {
            [propget] HRESULT OldLimit([out] [retval] UINT64* value);
            [propget] HRESULT NewLimit([out] [retval] UINT64* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupBackgroundTaskReport)]
        [uuid(2566E74E-B05D-40C2-9DC1-1A4F039EA120)]
        interface IAppResourceGroupBackgroundTaskReport : IInspectable
        {
            [propget] HRESULT TaskId([out] [retval] GUID* value);
            [propget] HRESULT Name([out] [retval] HSTRING* value);
            [propget] HRESULT Trigger([out] [retval] HSTRING* value);
            [propget] HRESULT EntryPoint([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupInfo)]
        [uuid(B913F77A-E807-49F4-845E-7B8BDCFE8EE7)]
        interface IAppResourceGroupInfo : IInspectable
        {
            [propget] HRESULT InstanceId([out] [retval] GUID* value);
            [propget] HRESULT IsShared([out] [retval] boolean* value);
            HRESULT GetBackgroundTaskReports([out] [retval] Windows.Foundation.Collections.IVector<Windows.System.AppResourceGroupBackgroundTaskReport*>** result);
            HRESULT GetMemoryReport([out] [retval] Windows.System.AppResourceGroupMemoryReport** result);
            HRESULT GetProcessDiagnosticInfos([out] [retval] Windows.Foundation.Collections.IVector<Windows.System.Diagnostics.ProcessDiagnosticInfo*>** result);
            HRESULT GetStateReport([out] [retval] Windows.System.AppResourceGroupStateReport** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupInfoWatcher)]
        [uuid(D9B0A0FD-6E5A-4C72-8B17-09FEC4A212BD)]
        interface IAppResourceGroupInfoWatcher : IInspectable
        {
            [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, Windows.System.AppResourceGroupInfoWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Added([in] EventRegistrationToken token);
            [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, Windows.System.AppResourceGroupInfoWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Removed([in] EventRegistrationToken token);
            [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
            [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
            [eventadd] HRESULT ExecutionStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.System.AppResourceGroupInfoWatcher*, Windows.System.AppResourceGroupInfoWatcherExecutionStateChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT ExecutionStateChanged([in] EventRegistrationToken token);
            [propget] HRESULT Status([out] [retval] Windows.System.AppResourceGroupInfoWatcherStatus* status);
            HRESULT Start();
            HRESULT Stop();
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupInfoWatcherEventArgs)]
        [uuid(7A787637-6302-4D2F-BF89-1C12D0B2A6B9)]
        interface IAppResourceGroupInfoWatcherEventArgs : IInspectable
        {
            [propget] HRESULT AppDiagnosticInfos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.System.AppDiagnosticInfo*>** value);
            [propget] HRESULT AppResourceGroupInfo([out] [retval] Windows.System.AppResourceGroupInfo** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupInfoWatcherExecutionStateChangedEventArgs)]
        [uuid(1BDBEDD7-FEE6-4FD4-98DD-E92A2CC299F3)]
        interface IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs : IInspectable
        {
            [propget] HRESULT AppDiagnosticInfos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.System.AppDiagnosticInfo*>** value);
            [propget] HRESULT AppResourceGroupInfo([out] [retval] Windows.System.AppResourceGroupInfo** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupMemoryReport)]
        [uuid(2C8C06B1-7DB1-4C51-A225-7FAE2D49E431)]
        interface IAppResourceGroupMemoryReport : IInspectable
        {
            [propget] HRESULT CommitUsageLimit([out] [retval] UINT64* value);
            [propget] HRESULT CommitUsageLevel([out] [retval] Windows.System.AppMemoryUsageLevel* value);
            [propget] HRESULT PrivateCommitUsage([out] [retval] UINT64* value);
            [propget] HRESULT TotalCommitUsage([out] [retval] UINT64* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.AppResourceGroupStateReport)]
        [uuid(52849F18-2F70-4236-AB40-D04DB0C7B931)]
        interface IAppResourceGroupStateReport : IInspectable
        {
            [propget] HRESULT ExecutionState([out] [retval] Windows.System.AppResourceGroupExecutionState* value);
            [propget] HRESULT EnergyQuotaState([out] [retval] Windows.System.AppResourceGroupEnergyQuotaState* value);
        }

        [contract(Windows.System.SystemManagementContract, 4.0)]
        [exclusiveto(Windows.System.DateTimeSettings)]
        [uuid(5D2150D1-47EE-48AB-A52B-9F1954278D82)]
        interface IDateTimeSettingsStatics : IInspectable
        {
            HRESULT SetSystemDateTime([in] Windows.Foundation.DateTime utcDateTime);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueue)]
        [uuid(603E88E4-A338-4FFE-A457-A5CFB9CEB899)]
        interface IDispatcherQueue : IInspectable
        {
            HRESULT CreateTimer([out] [retval] Windows.System.DispatcherQueueTimer** result);
            [overload("TryEnqueue")] HRESULT TryEnqueue([in] Windows.System.DispatcherQueueHandler* callback, [out] [retval] boolean* result);
            [overload("TryEnqueue")] HRESULT TryEnqueueWithPriority([in] Windows.System.DispatcherQueuePriority priority, [in] Windows.System.DispatcherQueueHandler* callback, [out] [retval] boolean* result);
            [eventadd] HRESULT ShutdownStarting([in] Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue*, Windows.System.DispatcherQueueShutdownStartingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT ShutdownStarting([in] EventRegistrationToken token);
            [eventadd] HRESULT ShutdownCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT ShutdownCompleted([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueueController)]
        [uuid(22F34E66-50DB-4E36-A98D-61C01B384D20)]
        interface IDispatcherQueueController : IInspectable
        {
            [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
            HRESULT ShutdownQueueAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueueController)]
        [uuid(0A6C98E0-5198-49A2-A313-3F70D1F13C27)]
        interface IDispatcherQueueControllerStatics : IInspectable
        {
            HRESULT CreateOnDedicatedThread([out] [retval] Windows.System.DispatcherQueueController** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueueShutdownStartingEventArgs)]
        [uuid(C4724C4C-FF97-40C0-A226-CC0AAA545E89)]
        interface IDispatcherQueueShutdownStartingEventArgs : IInspectable
        {
            HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueue)]
        [uuid(A96D83D7-9371-4517-9245-D0824AC12C74)]
        interface IDispatcherQueueStatics : IInspectable
        {
            HRESULT GetForCurrentThread([out] [retval] Windows.System.DispatcherQueue** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.DispatcherQueueTimer)]
        [uuid(5FEABB1D-A31C-4727-B1AC-37454649D56A)]
        interface IDispatcherQueueTimer : IInspectable
        {
            [propget] HRESULT Interval([out] [retval] Windows.Foundation.TimeSpan* value);
            [propput] HRESULT Interval([in] Windows.Foundation.TimeSpan value);
            [propget] HRESULT IsRunning([out] [retval] boolean* value);
            [propget] HRESULT IsRepeating([out] [retval] boolean* value);
            [propput] HRESULT IsRepeating([in] boolean value);
            HRESULT Start();
            HRESULT Stop();
            [eventadd] HRESULT Tick([in] Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueueTimer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Tick([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.FolderLauncherOptions)]
        [uuid(BB91C27D-6B87-432A-BD04-776C6F5FB2AB)]
        interface IFolderLauncherOptions : IInspectable
        {
            [propget] HRESULT ItemsToSelect([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.IStorageItem*>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.KnownUserProperties)]
        [uuid(7755911A-70C5-48E5-B637-5BA3441E4EE4)]
        interface IKnownUserPropertiesStatics : IInspectable
        {
            [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT FirstName([out] [retval] HSTRING* value);
            [propget] HRESULT LastName([out] [retval] HSTRING* value);
            [propget] HRESULT ProviderName([out] [retval] HSTRING* value);
            [propget] HRESULT AccountName([out] [retval] HSTRING* value);
            [propget] HRESULT GuestHost([out] [retval] HSTRING* value);
            [propget] HRESULT PrincipalName([out] [retval] HSTRING* value);
            [propget] HRESULT DomainName([out] [retval] HSTRING* value);
            [propget] HRESULT SessionInitiationProtocolUri([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.LaunchUriResult)]
        [uuid(EC27A8DF-F6D5-45CA-913A-70A40C5C8221)]
        interface ILaunchUriResult : IInspectable
        {
            [propget] HRESULT Status([out] [retval] Windows.System.LaunchUriStatus* value);
            [propget] HRESULT Result([out] [retval] Windows.Foundation.Collections.ValueSet** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(BAFA21D8-B071-4CD8-853E-341203E557D3)]
        interface ILauncherOptions : IInspectable
        {
            [propget] HRESULT TreatAsUntrusted([out] [retval] boolean* value);
            [propput] HRESULT TreatAsUntrusted([in] boolean value);
            [propget] HRESULT DisplayApplicationPicker([out] [retval] boolean* value);
            [propput] HRESULT DisplayApplicationPicker([in] boolean value);
            [propget] HRESULT UI([out] [retval] Windows.System.LauncherUIOptions** value);
            [propget] HRESULT PreferredApplicationPackageFamilyName([out] [retval] HSTRING* value);
            [propput] HRESULT PreferredApplicationPackageFamilyName([in] HSTRING value);
            [propget] HRESULT PreferredApplicationDisplayName([out] [retval] HSTRING* value);
            [propput] HRESULT PreferredApplicationDisplayName([in] HSTRING value);
            [propget] HRESULT FallbackUri([out] [retval] Windows.Foundation.Uri** value);
            [propput] HRESULT FallbackUri([in] Windows.Foundation.Uri* value);
            [propget] HRESULT ContentType([out] [retval] HSTRING* value);
            [propput] HRESULT ContentType([in] HSTRING value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(3BA08EB4-6E40-4DCE-A1A3-2F53950AFB49)]
        interface ILauncherOptions2 : IInspectable
        {
            [propget] HRESULT TargetApplicationPackageFamilyName([out] [retval] HSTRING* value);
            [propput] HRESULT TargetApplicationPackageFamilyName([in] HSTRING value);
            [propget] HRESULT NeighboringFilesQuery([out] [retval] Windows.Storage.Search.StorageFileQueryResult** value);
            [propput] HRESULT NeighboringFilesQuery([in] Windows.Storage.Search.StorageFileQueryResult* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(F0770655-4B63-4E3A-9107-4E687841923A)]
        interface ILauncherOptions3 : IInspectable
        {
            [propget] HRESULT IgnoreAppUriHandlers([out] [retval] boolean* value);
            [propput] HRESULT IgnoreAppUriHandlers([in] boolean value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(EF6FD10E-E6FB-4814-A44E-57E8B9D9A01B)]
        interface ILauncherOptions4 : IInspectable
        {
            [propget] HRESULT LimitPickerToCurrentAppAndAppUriHandlers([out] [retval] boolean* value);
            [propput] HRESULT LimitPickerToCurrentAppAndAppUriHandlers([in] boolean value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.Launcher)]
        [uuid(277151C3-9E3E-42F6-91A4-5DFDEB232451)]
        interface ILauncherStatics : IInspectable
        {
            [overload("LaunchFileAsync")] HRESULT LaunchFileAsync([in] Windows.Storage.IStorageFile* file, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            [overload("LaunchFileAsync")] HRESULT LaunchFileWithOptionsAsync([in] Windows.Storage.IStorageFile* file, [in] Windows.System.LauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            [overload("LaunchUriAsync")] HRESULT LaunchUriAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            [overload("LaunchUriAsync")] HRESULT LaunchUriWithOptionsAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.Launcher)]
        [uuid(59BA2FBB-24CB-4C02-A4C4-8294569D54F1)]
        interface ILauncherStatics2 : IInspectable
        {
            [overload("LaunchUriForResultsAsync")] HRESULT LaunchUriForResultsAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriResult*>** operation);
            [overload("LaunchUriForResultsAsync")] HRESULT LaunchUriForResultsWithDataAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [in] Windows.Foundation.Collections.ValueSet* inputData, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriResult*>** operation);
            [overload("LaunchUriAsync")] HRESULT LaunchUriWithDataAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [in] Windows.Foundation.Collections.ValueSet* inputData, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            [overload("QueryUriSupportAsync")] HRESULT QueryUriSupportAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LaunchQuerySupportType launchQuerySupportType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            [overload("QueryUriSupportAsync")] HRESULT QueryUriSupportWithPackageFamilyNameAsync([in] Windows.Foundation.Uri* uri, [in] Windows.System.LaunchQuerySupportType launchQuerySupportType, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            [overload("QueryFileSupportAsync")] HRESULT QueryFileSupportAsync([in] Windows.Storage.StorageFile* file, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            [overload("QueryFileSupportAsync")] HRESULT QueryFileSupportWithPackageFamilyNameAsync([in] Windows.Storage.StorageFile* file, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            [overload("FindUriSchemeHandlersAsync")] HRESULT FindUriSchemeHandlersAsync([in] HSTRING scheme, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>*>** operation);
            [overload("FindUriSchemeHandlersAsync")] HRESULT FindUriSchemeHandlersWithLaunchUriTypeAsync([in] HSTRING scheme, [in] Windows.System.LaunchQuerySupportType launchQuerySupportType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>*>** operation);
            HRESULT FindFileHandlersAsync([in] HSTRING extension, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.Launcher)]
        [uuid(234261A8-9DB3-4683-AA42-DC6F51D33847)]
        interface ILauncherStatics3 : IInspectable
        {
            [overload("LaunchFolderAsync")] HRESULT LaunchFolderAsync([in] Windows.Storage.IStorageFolder* folder, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            [overload("LaunchFolderAsync")] HRESULT LaunchFolderWithOptionsAsync([in] Windows.Storage.IStorageFolder* folder, [in] Windows.System.FolderLauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.Launcher)]
        [uuid(B9EC819F-B5A5-41C6-B3B3-DD1B3178BCF2)]
        interface ILauncherStatics4 : IInspectable
        {
            [overload("QueryAppUriSupportAsync")] HRESULT QueryAppUriSupportAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            [overload("QueryAppUriSupportAsync")] HRESULT QueryAppUriSupportWithPackageFamilyNameAsync([in] Windows.Foundation.Uri* uri, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchQuerySupportStatus>** operation);
            HRESULT FindAppUriHandlersAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>*>** operation);
            [overload("LaunchUriForUserAsync")] HRESULT LaunchUriForUserAsync([in] Windows.System.User* user, [in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriStatus>** operation);
            [overload("LaunchUriForUserAsync")] HRESULT LaunchUriWithOptionsForUserAsync([in] Windows.System.User* user, [in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriStatus>** operation);
            [overload("LaunchUriForUserAsync")] HRESULT LaunchUriWithDataForUserAsync([in] Windows.System.User* user, [in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [in] Windows.Foundation.Collections.ValueSet* inputData, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriStatus>** operation);
            [overload("LaunchUriForResultsForUserAsync")] HRESULT LaunchUriForResultsForUserAsync([in] Windows.System.User* user, [in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriResult*>** operation);
            [overload("LaunchUriForResultsForUserAsync")] HRESULT LaunchUriForResultsWithDataForUserAsync([in] Windows.System.User* user, [in] Windows.Foundation.Uri* uri, [in] Windows.System.LauncherOptions* options, [in] Windows.Foundation.Collections.ValueSet* inputData, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.LaunchUriResult*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.LauncherUIOptions)]
        [uuid(1B25DA6E-8AA6-41E9-8251-4165F5985F49)]
        interface ILauncherUIOptions : IInspectable
        {
            [propget] HRESULT InvocationPoint([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Point>** value);
            [propput] HRESULT InvocationPoint([in] Windows.Foundation.IReference<Windows.Foundation.Point>* value);
            [propget] HRESULT SelectionRect([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Rect>** value);
            [propput] HRESULT SelectionRect([in] Windows.Foundation.IReference<Windows.Foundation.Rect>* value);
            [propget] HRESULT PreferredPlacement([out] [retval] Windows.UI.Popups.Placement* value);
            [propput] HRESULT PreferredPlacement([in] Windows.UI.Popups.Placement value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [uuid(8A9B29F1-7CA7-49DE-9BD3-3C5B7184F616)]
        interface ILauncherViewOptions : IInspectable
        {
            [propget] HRESULT DesiredRemainingView([out] [retval] Windows.UI.ViewManagement.ViewSizePreference* value);
            [propput] HRESULT DesiredRemainingView([in] Windows.UI.ViewManagement.ViewSizePreference value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.MemoryManager)]
        [uuid(5C6C279C-D7CA-4779-9188-4057219CE64C)]
        interface IMemoryManagerStatics : IInspectable
        {
            [propget] HRESULT AppMemoryUsage([out] [retval] UINT64* value);
            [propget] HRESULT AppMemoryUsageLimit([out] [retval] UINT64* value);
            [propget] HRESULT AppMemoryUsageLevel([out] [retval] Windows.System.AppMemoryUsageLevel* value);
            [eventadd] HRESULT AppMemoryUsageIncreased([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT AppMemoryUsageIncreased([in] EventRegistrationToken token);
            [eventadd] HRESULT AppMemoryUsageDecreased([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT AppMemoryUsageDecreased([in] EventRegistrationToken token);
            [eventadd] HRESULT AppMemoryUsageLimitChanging([in] Windows.Foundation.EventHandler<Windows.System.AppMemoryUsageLimitChangingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT AppMemoryUsageLimitChanging([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.MemoryManager)]
        [uuid(6EEE351F-6D62-423F-9479-B01F9C9F7669)]
        interface IMemoryManagerStatics2 : IInspectable
        {
            HRESULT GetAppMemoryReport([out] [retval] Windows.System.AppMemoryReport** memoryReport);
            HRESULT GetProcessMemoryReport([out] [retval] Windows.System.ProcessMemoryReport** memoryReport);
        }

        [contract(Windows.Foundation.UniversalApiContract, 2.0)]
        [exclusiveto(Windows.System.MemoryManager)]
        [uuid(149B59CE-92AD-4E35-89EB-50DFB4C0D91C)]
        interface IMemoryManagerStatics3 : IInspectable
        {
            HRESULT TrySetAppMemoryUsageLimit([in] UINT64 value, [out] [retval] boolean* result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.System.MemoryManager)]
        [uuid(C5A94828-E84E-4886-8A0D-44B3190E3B72)]
        interface IMemoryManagerStatics4 : IInspectable
        {
            [propget] HRESULT ExpectedAppMemoryUsageLimit([out] [retval] UINT64* value);
        }

        [contract(Windows.System.SystemManagementContract, 2.0)]
        [exclusiveto(Windows.System.ProcessLauncherOptions)]
        [uuid(3080B9CF-F444-4A83-BEAF-A549A0F3229C)]
        interface IProcessLauncherOptions : IInspectable
        {
            [propget] HRESULT StandardInput([out] [retval] Windows.Storage.Streams.IInputStream** value);
            [propput] HRESULT StandardInput([in] Windows.Storage.Streams.IInputStream* value);
            [propget] HRESULT StandardOutput([out] [retval] Windows.Storage.Streams.IOutputStream** value);
            [propput] HRESULT StandardOutput([in] Windows.Storage.Streams.IOutputStream* value);
            [propget] HRESULT StandardError([out] [retval] Windows.Storage.Streams.IOutputStream** value);
            [propput] HRESULT StandardError([in] Windows.Storage.Streams.IOutputStream* value);
            [propget] HRESULT WorkingDirectory([out] [retval] HSTRING* value);
            [propput] HRESULT WorkingDirectory([in] HSTRING value);
        }

        [contract(Windows.System.SystemManagementContract, 2.0)]
        [exclusiveto(Windows.System.ProcessLauncherResult)]
        [uuid(544C8934-86D8-4991-8E75-ECE8A43B6B6D)]
        interface IProcessLauncherResult : IInspectable
        {
            [propget] HRESULT ExitCode([out] [retval] UINT32* value);
        }

        [contract(Windows.System.SystemManagementContract, 2.0)]
        [exclusiveto(Windows.System.ProcessLauncher)]
        [uuid(33AB66E7-2D0E-448B-A6A0-C13C3836D09C)]
        interface IProcessLauncherStatics : IInspectable
        {
            [overload("RunToCompletionAsync")] HRESULT RunToCompletionAsync([in] HSTRING fileName, [in] HSTRING args, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.ProcessLauncherResult*>** asyncOperationResult);
            [overload("RunToCompletionAsync")] HRESULT RunToCompletionAsyncWithOptions([in] HSTRING fileName, [in] HSTRING args, [in] Windows.System.ProcessLauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.ProcessLauncherResult*>** asyncOperationResult);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.ProcessMemoryReport)]
        [uuid(087305A8-9B70-4782-8741-3A982B6CE5E4)]
        interface IProcessMemoryReport : IInspectable
        {
            [propget] HRESULT PrivateWorkingSetUsage([out] [retval] UINT64* value);
            [propget] HRESULT TotalWorkingSetUsage([out] [retval] UINT64* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.ProtocolForResultsOperation)]
        [uuid(D581293A-6DE9-4D28-9378-F86782E182BB)]
        interface IProtocolForResultsOperation : IInspectable
        {
            HRESULT ReportCompleted([in] Windows.Foundation.Collections.ValueSet* data);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.RemoteLauncherOptions)]
        [uuid(9E3A2788-2891-4CDF-A2D6-9DFF7D02E693)]
        interface IRemoteLauncherOptions : IInspectable
        {
            [propget] HRESULT FallbackUri([out] [retval] Windows.Foundation.Uri** value);
            [propput] HRESULT FallbackUri([in] Windows.Foundation.Uri* value);
            [propget] HRESULT PreferredAppIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.RemoteLauncher)]
        [uuid(D7DB7A93-A30C-48B7-9F21-051026A4E517)]
        interface IRemoteLauncherStatics : IInspectable
        {
            [overload("LaunchUriAsync")] HRESULT LaunchUriAsync([in] Windows.System.RemoteSystems.RemoteSystemConnectionRequest* remoteSystemConnectionRequest, [in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteLaunchUriStatus>** operation);
            [overload("LaunchUriAsync")] HRESULT LaunchUriWithOptionsAsync([in] Windows.System.RemoteSystems.RemoteSystemConnectionRequest* remoteSystemConnectionRequest, [in] Windows.Foundation.Uri* uri, [in] Windows.System.RemoteLauncherOptions* options, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteLaunchUriStatus>** operation);
            [overload("LaunchUriAsync")] HRESULT LaunchUriWithDataAsync([in] Windows.System.RemoteSystems.RemoteSystemConnectionRequest* remoteSystemConnectionRequest, [in] Windows.Foundation.Uri* uri, [in] Windows.System.RemoteLauncherOptions* options, [in] Windows.Foundation.Collections.ValueSet* inputData, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.RemoteLaunchUriStatus>** operation);
        }

        [contract(Windows.System.SystemManagementContract, 1.0)]
        [exclusiveto(Windows.System.ShutdownManager)]
        [uuid(72E247ED-DD5B-4D6C-B1D0-C57A7BBB5F94)]
        interface IShutdownManagerStatics : IInspectable
        {
            HRESULT BeginShutdown([in] Windows.System.ShutdownKind shutdownKind, [in] Windows.Foundation.TimeSpan timeout);
            HRESULT CancelShutdown();
        }

        [contract(Windows.System.SystemManagementContract, 3.0)]
        [exclusiveto(Windows.System.ShutdownManager)]
        [uuid(0F69A02F-9C34-43C7-A8C3-70B30A7F7504)]
        interface IShutdownManagerStatics2 : IInspectable
            requires
                Windows.System.IShutdownManagerStatics
        {
            HRESULT IsPowerStateSupported([in] Windows.System.PowerState powerState, [out] [retval] boolean* value);
            [overload("EnterPowerState")] HRESULT EnterPowerState([in] Windows.System.PowerState powerState);
            [overload("EnterPowerState")] HRESULT EnterPowerStateWithTimeSpan([in] Windows.System.PowerState powerState, [in] Windows.Foundation.TimeSpan wakeUpAfter);
        }

        [contract(Windows.System.SystemManagementContract, 1.0)]
        [exclusiveto(Windows.System.TimeZoneSettings)]
        [uuid(9B3B2BEA-A101-41AE-9FBD-028728BAB73D)]
        interface ITimeZoneSettingsStatics : IInspectable
        {
            [propget] HRESULT CurrentTimeZoneDisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT SupportedTimeZoneDisplayNames([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            [propget] HRESULT CanChangeTimeZone([out] [retval] boolean* value);
            HRESULT ChangeTimeZoneByDisplayName([in] HSTRING timeZoneDisplayName);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.User)]
        [uuid(DF9A26C6-E746-4BCD-B5D4-120103C4209B)]
        interface IUser : IInspectable
        {
            [propget] HRESULT NonRoamableId([out] [retval] HSTRING* value);
            [propget] HRESULT AuthenticationStatus([out] [retval] Windows.System.UserAuthenticationStatus* value);
            [propget] HRESULT Type([out] [retval] Windows.System.UserType* value);
            HRESULT GetPropertyAsync([in] HSTRING value, [out] [retval] Windows.Foundation.IAsyncOperation<IInspectable*>** operation);
            HRESULT GetPropertiesAsync([in] Windows.Foundation.Collections.IVectorView<HSTRING>* values, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IPropertySet*>** operation);
            HRESULT GetPictureAsync([in] Windows.System.UserPictureSize desiredSize, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.UserAuthenticationStatusChangeDeferral)]
        [uuid(88B59568-BB30-42FB-A270-E9902E40EFA7)]
        interface IUserAuthenticationStatusChangeDeferral : IInspectable
        {
            HRESULT Complete();
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.UserAuthenticationStatusChangingEventArgs)]
        [uuid(8C030F28-A711-4C1E-AB48-04179C15938F)]
        interface IUserAuthenticationStatusChangingEventArgs : IInspectable
        {
            HRESULT GetDeferral([out] [retval] Windows.System.UserAuthenticationStatusChangeDeferral** deferral);
            [propget] HRESULT User([out] [retval] Windows.System.User** value);
            [propget] HRESULT NewStatus([out] [retval] Windows.System.UserAuthenticationStatus* value);
            [propget] HRESULT CurrentStatus([out] [retval] Windows.System.UserAuthenticationStatus* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.UserChangedEventArgs)]
        [uuid(086459DC-18C6-48DB-BC99-724FB9203CCC)]
        interface IUserChangedEventArgs : IInspectable
        {
            [propget] HRESULT User([out] [retval] Windows.System.User** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.UserDeviceAssociationChangedEventArgs)]
        [uuid(BD1F6F6C-BB5D-4D7B-A5F0-C8CD11A38D42)]
        interface IUserDeviceAssociationChangedEventArgs : IInspectable
        {
            [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
            [propget] HRESULT NewUser([out] [retval] Windows.System.User** value);
            [propget] HRESULT OldUser([out] [retval] Windows.System.User** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.UserDeviceAssociation)]
        [uuid(7E491E14-F85A-4C07-8DA9-7FE3D0542343)]
        interface IUserDeviceAssociationStatics : IInspectable
        {
            HRESULT FindUserFromDeviceId([in] HSTRING deviceId, [out] [retval] Windows.System.User** user);
            [eventadd] HRESULT UserDeviceAssociationChanged([in] Windows.Foundation.EventHandler<Windows.System.UserDeviceAssociationChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT UserDeviceAssociationChanged([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.UserPicker)]
        [uuid(7D548008-F1E3-4A6C-8DDC-A9BB0F488AED)]
        interface IUserPicker : IInspectable
        {
            [propget] HRESULT AllowGuestAccounts([out] [retval] boolean* value);
            [propput] HRESULT AllowGuestAccounts([in] boolean value);
            [propget] HRESULT SuggestedSelectedUser([out] [retval] Windows.System.User** value);
            [propput] HRESULT SuggestedSelectedUser([in] Windows.System.User* value);
            HRESULT PickSingleUserAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.User*>** pickSingleUserOperation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.System.UserPicker)]
        [uuid(DE3290DC-7E73-4DF6-A1AE-4D7ECA82B40D)]
        interface IUserPickerStatics : IInspectable
        {
            HRESULT IsSupported([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.User)]
        [uuid(155EB23B-242A-45E0-A2E9-3171FC6A7FDD)]
        interface IUserStatics : IInspectable
        {
            HRESULT CreateWatcher([out] [retval] Windows.System.UserWatcher** watcher);
            [default_overload] [overload("FindAllAsync")] HRESULT FindAllAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.User*>*>** operation);
            [overload("FindAllAsync")] HRESULT FindAllAsyncByType([in] Windows.System.UserType type, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.User*>*>** operation);
            [overload("FindAllAsync")] HRESULT FindAllAsyncByTypeAndStatus([in] Windows.System.UserType type, [in] Windows.System.UserAuthenticationStatus status, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.System.User*>*>** operation);
            HRESULT GetFromId([in] HSTRING nonRoamableId, [out] [retval] Windows.System.User** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.System.UserWatcher)]
        [uuid(155EB23B-242A-45E0-A2E9-3171FC6A7FBB)]
        interface IUserWatcher : IInspectable
        {
            [propget] HRESULT Status([out] [retval] Windows.System.UserWatcherStatus* value);
            HRESULT Start();
            HRESULT Stop();
            [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Added([in] EventRegistrationToken token);
            [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Removed([in] EventRegistrationToken token);
            [eventadd] HRESULT Updated([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Updated([in] EventRegistrationToken token);
            [eventadd] HRESULT AuthenticationStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT AuthenticationStatusChanged([in] EventRegistrationToken token);
            [eventadd] HRESULT AuthenticationStatusChanging([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, Windows.System.UserAuthenticationStatusChangingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT AuthenticationStatusChanging([in] EventRegistrationToken token);
            [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
            [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.System.UserWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IAppDiagnosticInfoStatics, Windows.Foundation.UniversalApiContract, 4.0)]
        [static(Windows.System.IAppDiagnosticInfoStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
        [threading(both)]
        runtimeclass AppDiagnosticInfo
        {
            [default] interface Windows.System.IAppDiagnosticInfo;
            [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.System.IAppDiagnosticInfo2;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppDiagnosticInfoWatcher
        {
            [default] interface Windows.System.IAppDiagnosticInfoWatcher;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppDiagnosticInfoWatcherEventArgs
        {
            [default] interface Windows.System.IAppDiagnosticInfoWatcherEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass AppMemoryReport
        {
            [default] interface Windows.System.IAppMemoryReport;
            [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.System.IAppMemoryReport2;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass AppMemoryUsageLimitChangingEventArgs
        {
            [default] interface Windows.System.IAppMemoryUsageLimitChangingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupBackgroundTaskReport
        {
            [default] interface Windows.System.IAppResourceGroupBackgroundTaskReport;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupInfo
        {
            [default] interface Windows.System.IAppResourceGroupInfo;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupInfoWatcher
        {
            [default] interface Windows.System.IAppResourceGroupInfoWatcher;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupInfoWatcherEventArgs
        {
            [default] interface Windows.System.IAppResourceGroupInfoWatcherEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupInfoWatcherExecutionStateChangedEventArgs
        {
            [default] interface Windows.System.IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupMemoryReport
        {
            [default] interface Windows.System.IAppResourceGroupMemoryReport;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppResourceGroupStateReport
        {
            [default] interface Windows.System.IAppResourceGroupStateReport;
        }

        [contract(Windows.System.SystemManagementContract, 4.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IDateTimeSettingsStatics, Windows.System.SystemManagementContract, 4.0)]
        [threading(both)]
        runtimeclass DateTimeSettings
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IDispatcherQueueStatics, Windows.Foundation.UniversalApiContract, 5.0)]
        [threading(both)]
        runtimeclass DispatcherQueue
        {
            [default] interface Windows.System.IDispatcherQueue;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IDispatcherQueueControllerStatics, Windows.Foundation.UniversalApiContract, 5.0)]
        [threading(both)]
        runtimeclass DispatcherQueueController
        {
            [default] interface Windows.System.IDispatcherQueueController;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass DispatcherQueueShutdownStartingEventArgs
        {
            [default] interface Windows.System.IDispatcherQueueShutdownStartingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass DispatcherQueueTimer
        {
            [default] interface Windows.System.IDispatcherQueueTimer;
        }

        [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass FolderLauncherOptions
        {
            [default] interface Windows.System.IFolderLauncherOptions;
            interface Windows.System.ILauncherViewOptions;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IKnownUserPropertiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        runtimeclass KnownUserProperties
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        runtimeclass LaunchUriResult
        {
            [default] interface Windows.System.ILaunchUriResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(standard)]
        [static(Windows.System.ILauncherStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.System.ILauncherStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.System.ILauncherStatics3, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.System.ILauncherStatics4, Windows.Foundation.UniversalApiContract, 3.0)]
        runtimeclass Launcher
        {
        }

        [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass LauncherOptions
        {
            [default] interface Windows.System.ILauncherOptions;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.System.ILauncherViewOptions;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.System.ILauncherOptions2;
            [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.System.ILauncherOptions3;
            [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.System.ILauncherOptions4;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass LauncherUIOptions
        {
            [default] interface Windows.System.ILauncherUIOptions;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IMemoryManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.System.IMemoryManagerStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.System.IMemoryManagerStatics3, Windows.Foundation.UniversalApiContract, 2.0)]
        [static(Windows.System.IMemoryManagerStatics4, Windows.Foundation.UniversalApiContract, 5.0)]
        runtimeclass MemoryManager
        {
        }

        [contract(Windows.System.SystemManagementContract, 2.0)]
        [static(Windows.System.IProcessLauncherStatics, Windows.System.SystemManagementContract, 2.0)]
        [threading(both)]
        runtimeclass ProcessLauncher
        {
        }

        [activatable(Windows.System.SystemManagementContract, 2.0)]
        [contract(Windows.System.SystemManagementContract, 2.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass ProcessLauncherOptions
        {
            [default] interface Windows.System.IProcessLauncherOptions;
        }

        [contract(Windows.System.SystemManagementContract, 2.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass ProcessLauncherResult
        {
            [default] interface Windows.System.IProcessLauncherResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass ProcessMemoryReport
        {
            [default] interface Windows.System.IProcessMemoryReport;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass ProtocolForResultsOperation
        {
            [default] interface Windows.System.IProtocolForResultsOperation;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(standard)]
        [static(Windows.System.IRemoteLauncherStatics, Windows.Foundation.UniversalApiContract, 3.0)]
        runtimeclass RemoteLauncher
        {
        }

        [activatable(Windows.Foundation.UniversalApiContract, 3.0)]
        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        runtimeclass RemoteLauncherOptions
        {
            [default] interface Windows.System.IRemoteLauncherOptions;
        }

        [contract(Windows.System.SystemManagementContract, 1.0)]
        [static(Windows.System.IShutdownManagerStatics, Windows.System.SystemManagementContract, 1.0)]
        [static(Windows.System.IShutdownManagerStatics2, Windows.System.SystemManagementContract, 3.0)]
        [threading(both)]
        runtimeclass ShutdownManager
        {
        }

        [contract(Windows.System.SystemManagementContract, 1.0)]
        [static(Windows.System.ITimeZoneSettingsStatics, Windows.System.SystemManagementContract, 1.0)]
        [threading(both)]
        runtimeclass TimeZoneSettings
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IUserStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        runtimeclass User
        {
            [default] interface Windows.System.IUser;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass UserAuthenticationStatusChangeDeferral
        {
            [default] interface Windows.System.IUserAuthenticationStatusChangeDeferral;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass UserAuthenticationStatusChangingEventArgs
        {
            [default] interface Windows.System.IUserAuthenticationStatusChangingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass UserChangedEventArgs
        {
            [default] interface Windows.System.IUserChangedEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IUserDeviceAssociationStatics, Windows.Foundation.UniversalApiContract, 3.0)]
        [threading(both)]
        runtimeclass UserDeviceAssociation
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass UserDeviceAssociationChangedEventArgs
        {
            [default] interface Windows.System.IUserDeviceAssociationChangedEventArgs;
        }

        [activatable(Windows.Foundation.UniversalApiContract, 3.0)]
        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IUserPickerStatics, Windows.Foundation.UniversalApiContract, 3.0)]
        runtimeclass UserPicker
        {
            [default] interface Windows.System.IUserPicker;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass UserWatcher
        {
            [default] interface Windows.System.IUserWatcher;
        }
    }
}
