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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.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.RemoteSystems.idl";
import "Windows.UI.Popups.idl";
import "Windows.UI.ViewManagement.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Eapplicationmodel_h__)")
cpp_quote("#include <Windows.ApplicationModel.h>")
cpp_quote("#endif // !defined(__windows2Eapplicationmodel_h__)")
cpp_quote("#if !defined(__windows2Egaming2Einput_h__)")
cpp_quote("#include <Windows.Gaming.Input.h>")
cpp_quote("#endif // !defined(__windows2Egaming2Einput_h__)")
cpp_quote("#if !defined(__windows2Estorage_h__)")
cpp_quote("#include <Windows.Storage.h>")
cpp_quote("#endif // !defined(__windows2Estorage_h__)")
cpp_quote("#if !defined(__windows2Estorage2Esearch_h__)")
cpp_quote("#include <Windows.Storage.Search.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Esearch_h__)")
cpp_quote("#if !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#include <Windows.Storage.Streams.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#if !defined(__windows2Esystem2Eremotesystems_h__)")
cpp_quote("#include <Windows.System.RemoteSystems.h>")
cpp_quote("#endif // !defined(__windows2Esystem2Eremotesystems_h__)")
cpp_quote("#if !defined(__windows2Eui2Epopups_h__)")
cpp_quote("#include <Windows.UI.Popups.h>")
cpp_quote("#endif // !defined(__windows2Eui2Epopups_h__)")
cpp_quote("#if !defined(__windows2Eui2Eviewmanagement_h__)")
cpp_quote("#include <Windows.UI.ViewManagement.h>")
cpp_quote("#endif // !defined(__windows2Eui2Eviewmanagement_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

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

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

        typedef struct Rect Rect;

        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 IRandomAccessStreamReference;
        }
    }
}
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
    {
        typedef enum AppMemoryUsageLevel AppMemoryUsageLevel;

        typedef enum LaunchFileStatus LaunchFileStatus;

        typedef enum LaunchQuerySupportStatus LaunchQuerySupportStatus;

        typedef enum LaunchQuerySupportType LaunchQuerySupportType;

        typedef enum LaunchUriStatus LaunchUriStatus;

        typedef enum ProcessorArchitecture ProcessorArchitecture;

        typedef enum RemoteLaunchUriStatus RemoteLaunchUriStatus;

        typedef enum UserAuthenticationStatus UserAuthenticationStatus;

        typedef enum UserPictureSize UserPictureSize;

        typedef enum UserType UserType;

        typedef enum UserWatcherStatus UserWatcherStatus;

        typedef enum VirtualKey VirtualKey;

        typedef enum VirtualKeyModifiers VirtualKeyModifiers;

        interface IAppMemoryReport;

        interface IAppMemoryUsageLimitChangingEventArgs;

        interface IFolderLauncherOptions;

        interface IKnownUserPropertiesStatics;

        interface ILaunchUriResult;

        interface ILauncherOptions;

        interface ILauncherOptions2;

        interface ILauncherOptions3;

        interface ILauncherStatics;

        interface ILauncherStatics2;

        interface ILauncherStatics3;

        interface ILauncherStatics4;

        interface ILauncherUIOptions;

        interface ILauncherViewOptions;

        interface IMemoryManagerStatics;

        interface IMemoryManagerStatics2;

        interface IMemoryManagerStatics3;

        interface IProcessMemoryReport;

        interface IProtocolForResultsOperation;

        interface IRemoteLauncherOptions;

        interface IRemoteLauncherStatics;

        interface IUser;

        interface IUserAuthenticationStatusChangeDeferral;

        interface IUserAuthenticationStatusChangingEventArgs;

        interface IUserChangedEventArgs;

        interface IUserDeviceAssociationChangedEventArgs;

        interface IUserDeviceAssociationStatics;

        interface IUserPicker;

        interface IUserPickerStatics;

        interface IUserStatics;

        interface IUserWatcher;

        runtimeclass AppMemoryReport;

        runtimeclass AppMemoryUsageLimitChangingEventArgs;

        runtimeclass FolderLauncherOptions;

        runtimeclass KnownUserProperties;

        runtimeclass LaunchUriResult;

        runtimeclass Launcher;

        runtimeclass LauncherOptions;

        runtimeclass LauncherUIOptions;

        runtimeclass MemoryManager;

        runtimeclass ProcessMemoryReport;

        runtimeclass ProtocolForResultsOperation;

        runtimeclass RemoteLauncher;

        runtimeclass RemoteLauncherOptions;

        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.User*>;

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

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

            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.System.LaunchQuerySupportStatus>;

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

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

            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.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
    {
        [version(0x0A000000)]
        enum AppMemoryUsageLevel
        {
            Low       = 0,
            Medium    = 1,
            High      = 2,
            [version(0x0A000002)]
            OverLimit = 3
        };

        [version(0x0A000002)]
        enum LaunchFileStatus
        {
            Success              = 0,
            AppUnavailable       = 1,
            DeniedByPolicy       = 2,
            FileTypeNotSupported = 3,
            Unknown              = 4
        };

        [version(0x0A000000)]
        enum LaunchQuerySupportStatus
        {
            Available       = 0,
            AppNotInstalled = 1,
            AppUnavailable  = 2,
            NotSupported    = 3,
            Unknown         = 4
        };

        [version(0x0A000000)]
        enum LaunchQuerySupportType
        {
            Uri           = 0,
            UriForResults = 1
        };

        [version(0x0A000000)]
        enum LaunchUriStatus
        {
            Success             = 0,
            AppUnavailable      = 1,
            ProtocolUnavailable = 2,
            Unknown             = 3
        };

        [version(0x06020000)]
        enum ProcessorArchitecture
        {
            X86     = 0,
            Arm     = 5,
            X64     = 9,
            Neutral = 11,
            Unknown = 65535
        };

        [version(0x0A000002)]
        enum RemoteLaunchUriStatus
        {
            Unknown                 = 0,
            Success                 = 1,
            AppUnavailable          = 2,
            ProtocolUnavailable     = 3,
            RemoteSystemUnavailable = 4,
            ValueSetTooLarge        = 5,
            DeniedByLocalSystem     = 6,
            DeniedByRemoteSystem    = 7
        };

        [version(0x0A000000)]
        enum UserAuthenticationStatus
        {
            Unauthenticated       = 0,
            LocallyAuthenticated  = 1,
            RemotelyAuthenticated = 2
        };

        [version(0x0A000000)]
        enum UserPictureSize
        {
            Size64x64     = 0,
            Size208x208   = 1,
            Size424x424   = 2,
            Size1080x1080 = 3
        };

        [version(0x0A000000)]
        enum UserType
        {
            LocalUser   = 0,
            RemoteUser  = 1,
            LocalGuest  = 2,
            RemoteGuest = 3
        };

        [version(0x0A000000)]
        enum UserWatcherStatus
        {
            Created              = 0,
            Started              = 1,
            EnumerationCompleted = 2,
            Stopping             = 3,
            Stopped              = 4,
            Aborted              = 5
        };

        [version(0x06020000)]
        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,
            [version(0x0A000000)]
            NavigationView               = 136,
            [version(0x0A000000)]
            NavigationMenu               = 137,
            [version(0x0A000000)]
            NavigationUp                 = 138,
            [version(0x0A000000)]
            NavigationDown               = 139,
            [version(0x0A000000)]
            NavigationLeft               = 140,
            [version(0x0A000000)]
            NavigationRight              = 141,
            [version(0x0A000000)]
            NavigationAccept             = 142,
            [version(0x0A000000)]
            NavigationCancel             = 143,
            NumberKeyLock                = 144,
            Scroll                       = 145,
            LeftShift                    = 160,
            RightShift                   = 161,
            LeftControl                  = 162,
            RightControl                 = 163,
            LeftMenu                     = 164,
            RightMenu                    = 165,
            [version(0x06030000)]
            GoBack                       = 166,
            [version(0x06030000)]
            GoForward                    = 167,
            [version(0x06030000)]
            Refresh                      = 168,
            [version(0x06030000)]
            Stop                         = 169,
            [version(0x06030000)]
            Search                       = 170,
            [version(0x06030000)]
            Favorites                    = 171,
            [version(0x06030000)]
            GoHome                       = 172,
            [version(0x0A000000)]
            GamepadA                     = 195,
            [version(0x0A000000)]
            GamepadB                     = 196,
            [version(0x0A000000)]
            GamepadX                     = 197,
            [version(0x0A000000)]
            GamepadY                     = 198,
            [version(0x0A000000)]
            GamepadRightShoulder         = 199,
            [version(0x0A000000)]
            GamepadLeftShoulder          = 200,
            [version(0x0A000000)]
            GamepadLeftTrigger           = 201,
            [version(0x0A000000)]
            GamepadRightTrigger          = 202,
            [version(0x0A000000)]
            GamepadDPadUp                = 203,
            [version(0x0A000000)]
            GamepadDPadDown              = 204,
            [version(0x0A000000)]
            GamepadDPadLeft              = 205,
            [version(0x0A000000)]
            GamepadDPadRight             = 206,
            [version(0x0A000000)]
            GamepadMenu                  = 207,
            [version(0x0A000000)]
            GamepadView                  = 208,
            [version(0x0A000000)]
            GamepadLeftThumbstickButton  = 209,
            [version(0x0A000000)]
            GamepadRightThumbstickButton = 210,
            [version(0x0A000000)]
            GamepadLeftThumbstickUp      = 211,
            [version(0x0A000000)]
            GamepadLeftThumbstickDown    = 212,
            [version(0x0A000000)]
            GamepadLeftThumbstickRight   = 213,
            [version(0x0A000000)]
            GamepadLeftThumbstickLeft    = 214,
            [version(0x0A000000)]
            GamepadRightThumbstickUp     = 215,
            [version(0x0A000000)]
            GamepadRightThumbstickDown   = 216,
            [version(0x0A000000)]
            GamepadRightThumbstickRight  = 217,
            [version(0x0A000000)]
            GamepadRightThumbstickLeft   = 218
        };

        [flags]
        [version(0x06020000)]
        enum VirtualKeyModifiers
        {
            None    = 0x0,
            Control = 0x1,
            Menu    = 0x2,
            Shift   = 0x4,
            Windows = 0x8
        };

        [exclusiveto(Windows.System.AppMemoryReport)]
        [uuid(6D65339B-4D6F-45BC-9C5E-E49B3FF2758D)]
        [version(0x0A000000)]
        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);
        }

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

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

        [exclusiveto(Windows.System.KnownUserProperties)]
        [uuid(7755911A-70C5-48E5-B637-5BA3441E4EE4)]
        [version(0x0A000000)]
        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);
        }

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

        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(BAFA21D8-B071-4CD8-853E-341203E557D3)]
        [version(0x06020000)]
        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);
        }

        [exclusiveto(Windows.System.LauncherOptions)]
        [uuid(3BA08EB4-6E40-4DCE-A1A3-2F53950AFB49)]
        [version(0x0A000000)]
        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);
        }

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

        [exclusiveto(Windows.System.Launcher)]
        [uuid(277151C3-9E3E-42F6-91A4-5DFDEB232451)]
        [version(0x06020000)]
        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);
        }

        [exclusiveto(Windows.System.Launcher)]
        [uuid(59BA2FBB-24CB-4C02-A4C4-8294569D54F1)]
        [version(0x0A000000)]
        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);
        }

        [exclusiveto(Windows.System.Launcher)]
        [uuid(234261A8-9DB3-4683-AA42-DC6F51D33847)]
        [version(0x0A000000)]
        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);
        }

        [exclusiveto(Windows.System.Launcher)]
        [uuid(B9EC819F-B5A5-41C6-B3B3-DD1B3178BCF2)]
        [version(0x0A000002)]
        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);
        }

        [exclusiveto(Windows.System.LauncherUIOptions)]
        [uuid(1B25DA6E-8AA6-41E9-8251-4165F5985F49)]
        [version(0x06020000)]
        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);
        }

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

        [exclusiveto(Windows.System.MemoryManager)]
        [uuid(5C6C279C-D7CA-4779-9188-4057219CE64C)]
        [version(0x0A000000)]
        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);
        }

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

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

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

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

        [exclusiveto(Windows.System.RemoteLauncherOptions)]
        [uuid(9E3A2788-2891-4CDF-A2D6-9DFF7D02E693)]
        [version(0x0A000002)]
        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);
        }

        [exclusiveto(Windows.System.RemoteLauncher)]
        [uuid(D7DB7A93-A30C-48B7-9F21-051026A4E517)]
        [version(0x0A000002)]
        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);
        }

        [exclusiveto(Windows.System.User)]
        [uuid(DF9A26C6-E746-4BCD-B5D4-120103C4209B)]
        [version(0x0A000000)]
        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);
        }

        [exclusiveto(Windows.System.UserAuthenticationStatusChangeDeferral)]
        [uuid(88B59568-BB30-42FB-A270-E9902E40EFA7)]
        [version(0x0A000000)]
        interface IUserAuthenticationStatusChangeDeferral : IInspectable
        {
            HRESULT Complete();
        }

        [exclusiveto(Windows.System.UserAuthenticationStatusChangingEventArgs)]
        [uuid(8C030F28-A711-4C1E-AB48-04179C15938F)]
        [version(0x0A000000)]
        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);
        }

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

        [exclusiveto(Windows.System.UserDeviceAssociationChangedEventArgs)]
        [uuid(BD1F6F6C-BB5D-4D7B-A5F0-C8CD11A38D42)]
        [version(0x0A000002)]
        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);
        }

        [exclusiveto(Windows.System.UserDeviceAssociation)]
        [uuid(7E491E14-F85A-4C07-8DA9-7FE3D0542343)]
        [version(0x0A000002)]
        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);
        }

        [exclusiveto(Windows.System.UserPicker)]
        [uuid(7D548008-F1E3-4A6C-8DDC-A9BB0F488AED)]
        [version(0x0A000002)]
        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);
        }

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

        [exclusiveto(Windows.System.User)]
        [uuid(155EB23B-242A-45E0-A2E9-3171FC6A7FDD)]
        [version(0x0A000000)]
        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);
        }

        [exclusiveto(Windows.System.UserWatcher)]
        [uuid(155EB23B-242A-45E0-A2E9-3171FC6A7FBB)]
        [version(0x0A000000)]
        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);
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass AppMemoryReport
        {
            [default] interface Windows.System.IAppMemoryReport;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass AppMemoryUsageLimitChangingEventArgs
        {
            [default] interface Windows.System.IAppMemoryUsageLimitChangingEventArgs;
        }

        [activatable(0x0A000000)]
        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass FolderLauncherOptions
        {
            [default] interface Windows.System.IFolderLauncherOptions;
            interface Windows.System.ILauncherViewOptions;
        }

        [marshaling_behavior(agile)]
        [static(Windows.System.IKnownUserPropertiesStatics, 0x0A000000)]
        [version(0x0A000000)]
        runtimeclass KnownUserProperties
        {
        }

        [version(0x0A000000)]
        runtimeclass LaunchUriResult
        {
            [default] interface Windows.System.ILaunchUriResult;
        }

        [marshaling_behavior(standard)]
        [static(Windows.System.ILauncherStatics, 0x06020000)]
        [static(Windows.System.ILauncherStatics2, 0x0A000000)]
        [static(Windows.System.ILauncherStatics3, 0x0A000000)]
        [static(Windows.System.ILauncherStatics4, 0x0A000002)]
        [version(0x06020000)]
        runtimeclass Launcher
        {
        }

        [activatable(0x06020000)]
        [marshaling_behavior(agile)]
        [version(0x06020000)]
        runtimeclass LauncherOptions
        {
            [default] interface Windows.System.ILauncherOptions;
            [version(0x06030000)] interface Windows.System.ILauncherViewOptions;
            [version(0x0A000000)] interface Windows.System.ILauncherOptions2;
            [version(0x0A000002)] interface Windows.System.ILauncherOptions3;
        }

        [marshaling_behavior(agile)]
        [version(0x06020000)]
        runtimeclass LauncherUIOptions
        {
            [default] interface Windows.System.ILauncherUIOptions;
        }

        [marshaling_behavior(agile)]
        [static(Windows.System.IMemoryManagerStatics, 0x0A000000)]
        [static(Windows.System.IMemoryManagerStatics2, 0x0A000000)]
        [static(Windows.System.IMemoryManagerStatics3, 0x0A000000)]
        [version(0x0A000000)]
        runtimeclass MemoryManager
        {
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass ProcessMemoryReport
        {
            [default] interface Windows.System.IProcessMemoryReport;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass ProtocolForResultsOperation
        {
            [default] interface Windows.System.IProtocolForResultsOperation;
        }

        [marshaling_behavior(standard)]
        [static(Windows.System.IRemoteLauncherStatics, 0x0A000002)]
        [version(0x0A000002)]
        runtimeclass RemoteLauncher
        {
        }

        [activatable(0x0A000002)]
        [marshaling_behavior(agile)]
        [version(0x0A000002)]
        runtimeclass RemoteLauncherOptions
        {
            [default] interface Windows.System.IRemoteLauncherOptions;
        }

        [marshaling_behavior(agile)]
        [static(Windows.System.IUserStatics, 0x0A000000)]
        [version(0x0A000000)]
        runtimeclass User
        {
            [default] interface Windows.System.IUser;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass UserAuthenticationStatusChangeDeferral
        {
            [default] interface Windows.System.IUserAuthenticationStatusChangeDeferral;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass UserAuthenticationStatusChangingEventArgs
        {
            [default] interface Windows.System.IUserAuthenticationStatusChangingEventArgs;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass UserChangedEventArgs
        {
            [default] interface Windows.System.IUserChangedEventArgs;
        }

        [marshaling_behavior(agile)]
        [static(Windows.System.IUserDeviceAssociationStatics, 0x0A000002)]
        [threading(both)]
        [version(0x0A000002)]
        runtimeclass UserDeviceAssociation
        {
        }

        [marshaling_behavior(agile)]
        [threading(both)]
        [version(0x0A000002)]
        runtimeclass UserDeviceAssociationChangedEventArgs
        {
            [default] interface Windows.System.IUserDeviceAssociationChangedEventArgs;
        }

        [activatable(0x0A000002)]
        [marshaling_behavior(agile)]
        [static(Windows.System.IUserPickerStatics, 0x0A000002)]
        [version(0x0A000002)]
        runtimeclass UserPicker
        {
            [default] interface Windows.System.IUserPicker;
        }

        [marshaling_behavior(agile)]
        [version(0x0A000000)]
        runtimeclass UserWatcher
        {
            [default] interface Windows.System.IUserWatcher;
        }
    }
}
