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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Devices.Display.idl";
import "Windows.Foundation.Numerics.idl";
import "Windows.Graphics.idl";
import "Windows.Graphics.DirectX.idl";
import "Windows.Graphics.DirectX.Direct3D11.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Devices
    {
        namespace Display
        {
            runtimeclass DisplayMonitor;

            typedef enum DisplayMonitorUsageKind DisplayMonitorUsageKind;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IAsyncAction;

        interface IClosable;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Numerics
        {
            typedef struct Rational Rational;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            namespace Direct3D11
            {
                typedef struct Direct3DMultisampleDescription Direct3DMultisampleDescription;
            }
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            typedef enum DirectXColorSpace DirectXColorSpace;

            typedef enum DirectXPixelFormat DirectXPixelFormat;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        typedef struct DisplayAdapterId DisplayAdapterId;

        typedef struct RectInt32 RectInt32;

        typedef struct SizeInt32 SizeInt32;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Display
        {
            namespace Core
            {
                typedef enum DisplayBitsPerChannel DisplayBitsPerChannel;

                typedef enum DisplayDeviceCapability DisplayDeviceCapability;

                typedef enum DisplayManagerOptions DisplayManagerOptions;

                typedef enum DisplayManagerResult DisplayManagerResult;

                typedef enum DisplayModeQueryOptions DisplayModeQueryOptions;

                typedef enum DisplayPathScaling DisplayPathScaling;

                typedef enum DisplayPathStatus DisplayPathStatus;

                typedef enum DisplayPresentStatus DisplayPresentStatus;

                typedef enum DisplayRotation DisplayRotation;

                typedef enum DisplayScanoutOptions DisplayScanoutOptions;

                typedef enum DisplaySourceStatus DisplaySourceStatus;

                typedef enum DisplayStateApplyOptions DisplayStateApplyOptions;

                typedef enum DisplayStateFunctionalizeOptions DisplayStateFunctionalizeOptions;

                typedef enum DisplayStateOperationStatus DisplayStateOperationStatus;

                typedef enum DisplayTargetPersistence DisplayTargetPersistence;

                typedef enum DisplayTaskSignalKind DisplayTaskSignalKind;

                typedef enum DisplayWireFormatColorSpace DisplayWireFormatColorSpace;

                typedef enum DisplayWireFormatEotf DisplayWireFormatEotf;

                typedef enum DisplayWireFormatHdrMetadata DisplayWireFormatHdrMetadata;

                typedef enum DisplayWireFormatPixelEncoding DisplayWireFormatPixelEncoding;

                typedef struct DisplayPresentationRate DisplayPresentationRate;

                interface IDisplayAdapter;

                interface IDisplayAdapter2;

                interface IDisplayAdapterStatics;

                interface IDisplayDevice;

                interface IDisplayDevice2;

                interface IDisplayDeviceRenderAdapter;

                interface IDisplayFence;

                interface IDisplayManager;

                interface IDisplayManager2;

                interface IDisplayManager3;

                interface IDisplayManagerChangedEventArgs;

                interface IDisplayManagerDisabledEventArgs;

                interface IDisplayManagerEnabledEventArgs;

                interface IDisplayManagerPathsFailedOrInvalidatedEventArgs;

                interface IDisplayManagerResultWithState;

                interface IDisplayManagerStatics;

                interface IDisplayModeInfo;

                interface IDisplayModeInfo2;

                interface IDisplayMuxDevice;

                interface IDisplayMuxDeviceStatics;

                interface IDisplayPath;

                interface IDisplayPath2;

                interface IDisplayPrimaryDescription;

                interface IDisplayPrimaryDescriptionFactory;

                interface IDisplayPrimaryDescriptionStatics;

                interface IDisplayScanout;

                interface IDisplaySource;

                interface IDisplaySource2;

                interface IDisplayState;

                interface IDisplayStateOperationResult;

                interface IDisplaySurface;

                interface IDisplayTarget;

                interface IDisplayTask;

                interface IDisplayTask2;

                interface IDisplayTaskPool;

                interface IDisplayTaskPool2;

                interface IDisplayTaskResult;

                interface IDisplayView;

                interface IDisplayWireFormat;

                interface IDisplayWireFormatFactory;

                interface IDisplayWireFormatStatics;

                runtimeclass DisplayAdapter;

                runtimeclass DisplayDevice;

                runtimeclass DisplayFence;

                runtimeclass DisplayManager;

                runtimeclass DisplayManagerChangedEventArgs;

                runtimeclass DisplayManagerDisabledEventArgs;

                runtimeclass DisplayManagerEnabledEventArgs;

                runtimeclass DisplayManagerPathsFailedOrInvalidatedEventArgs;

                runtimeclass DisplayManagerResultWithState;

                runtimeclass DisplayModeInfo;

                runtimeclass DisplayMuxDevice;

                runtimeclass DisplayPath;

                runtimeclass DisplayPrimaryDescription;

                runtimeclass DisplayScanout;

                runtimeclass DisplaySource;

                runtimeclass DisplayState;

                runtimeclass DisplayStateOperationResult;

                runtimeclass DisplaySurface;

                runtimeclass DisplayTarget;

                runtimeclass DisplayTask;

                runtimeclass DisplayTaskPool;

                runtimeclass DisplayTaskResult;

                runtimeclass DisplayView;

                runtimeclass DisplayWireFormat;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Devices
    {
        namespace Display
        {
            namespace Core
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayAdapter*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayModeInfo*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayPath*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayTarget*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayView*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Devices.Display.Core.DisplayAdapter*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Devices.Display.Core.DisplayModeInfo*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Devices.Display.Core.DisplayPath*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Devices.Display.Core.DisplayTarget*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Devices.Display.Core.DisplayView*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayAdapter*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayModeInfo*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayPath*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayTarget*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayView*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.Devices.Display.Core.DisplayMuxDevice*>;

                    interface Windows.Foundation.IReference<Windows.Devices.Display.Core.DisplayPresentationRate>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerChangedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerDisabledEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerEnabledEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerPathsFailedOrInvalidatedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayMuxDevice*, IInspectable*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplaySource*, IInspectable*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace Display
        {
            namespace Core
            {
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [flags]
                enum DisplayBitsPerChannel
                {
                    None  = 0x0,
                    Bpc6  = 0x1,
                    Bpc8  = 0x2,
                    Bpc10 = 0x4,
                    Bpc12 = 0x8,
                    Bpc14 = 0x10,
                    Bpc16 = 0x20
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayDeviceCapability
                {
                    FlipOverride = 0
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [flags]
                enum DisplayManagerOptions
                {
                    None                    = 0x0,
                    EnforceSourceOwnership  = 0x1,
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                    VirtualRefreshRateAware = 0x2
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayManagerResult
                {
                    Success                   = 0,
                    UnknownFailure            = 1,
                    TargetAccessDenied        = 2,
                    TargetStale               = 3,
                    RemoteSessionNotSupported = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [flags]
                enum DisplayModeQueryOptions
                {
                    None                    = 0x0,
                    OnlyPreferredResolution = 0x1
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayPathScaling
                {
                    Identity             = 0,
                    Centered             = 1,
                    Stretched            = 2,
                    AspectRatioStretched = 3,
                    Custom               = 4,
                    DriverPreferred      = 5
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayPathStatus
                {
                    Unknown          = 0,
                    Succeeded        = 1,
                    Pending          = 2,
                    Failed           = 3,
                    FailedAsync      = 4,
                    InvalidatedAsync = 5
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum DisplayPresentStatus
                {
                    Success                      = 0,
                    SourceStatusPreventedPresent = 1,
                    ScanoutInvalid               = 2,
                    SourceInvalid                = 3,
                    DeviceInvalid                = 4,
                    UnknownFailure               = 5
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayRotation
                {
                    None                = 0,
                    Clockwise90Degrees  = 1,
                    Clockwise180Degrees = 2,
                    Clockwise270Degrees = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [flags]
                enum DisplayScanoutOptions
                {
                    None         = 0x0,
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                    AllowTearing = 0x2
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum DisplaySourceStatus
                {
                    Active               = 0,
                    PoweredOff           = 1,
                    Invalid              = 2,
                    OwnedByAnotherDevice = 3,
                    Unowned              = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [flags]
                enum DisplayStateApplyOptions
                {
                    None                 = 0x0,
                    FailIfStateChanged   = 0x1,
                    ForceReapply         = 0x2,
                    ForceModeEnumeration = 0x4
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [flags]
                enum DisplayStateFunctionalizeOptions
                {
                    None                 = 0x0,
                    FailIfStateChanged   = 0x1,
                    ValidateTopologyOnly = 0x2
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayStateOperationStatus
                {
                    Success                   = 0,
                    PartialFailure            = 1,
                    UnknownFailure            = 2,
                    TargetOwnershipLost       = 3,
                    SystemStateChanged        = 4,
                    TooManyPathsForAdapter    = 5,
                    ModesNotSupported         = 6,
                    RemoteSessionNotSupported = 7
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayTargetPersistence
                {
                    None               = 0,
                    BootPersisted      = 1,
                    TemporaryPersisted = 2,
                    PathPersisted      = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayTaskSignalKind
                {
                    OnPresentFlipAway = 0,
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                    OnPresentFlipTo   = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayWireFormatColorSpace
                {
                    BT709                        = 0,
                    BT2020                       = 1,
                    ProfileDefinedWideColorGamut = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayWireFormatEotf
                {
                    Sdr          = 0,
                    HdrSmpte2084 = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayWireFormatHdrMetadata
                {
                    None                  = 0,
                    Hdr10                 = 1,
                    Hdr10Plus             = 2,
                    DolbyVisionLowLatency = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum DisplayWireFormatPixelEncoding
                {
                    Rgb444    = 0,
                    Ycc444    = 1,
                    Ycc422    = 2,
                    Ycc420    = 3,
                    Intensity = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                struct DisplayPresentationRate
                {
                    Windows.Foundation.Numerics.Rational VerticalSyncRate;
                    INT32 VerticalSyncsPerPresentation;
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayAdapter)]
                [uuid(A56F5287-F000-5F2E-B5AC-3783A2B69AF5)]
                interface IDisplayAdapter : IInspectable
                {
                    [propget] HRESULT Id([out] [retval] Windows.Graphics.DisplayAdapterId* value);
                    [propget] HRESULT DeviceInterfacePath([out] [retval] HSTRING* value);
                    [propget] HRESULT SourceCount([out] [retval] UINT32* value);
                    [propget] HRESULT PciVendorId([out] [retval] UINT32* value);
                    [propget] HRESULT PciDeviceId([out] [retval] UINT32* value);
                    [propget] HRESULT PciSubSystemId([out] [retval] UINT32* value);
                    [propget] HRESULT PciRevision([out] [retval] UINT32* value);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayAdapter)]
                [uuid(9AB49B18-B3C7-5546-8374-A9127111EDD8)]
                interface IDisplayAdapter2 : IInspectable
                {
                    [propget] HRESULT IsIndirectDisplayDevice([out] [retval] boolean* value);
                    [propget] HRESULT PreferredRenderAdapter([out] [retval] Windows.Devices.Display.Core.DisplayAdapter** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayAdapter)]
                [uuid(1DAC3CDA-481F-5469-8470-82C4BA680A28)]
                interface IDisplayAdapterStatics : IInspectable
                {
                    HRESULT FromId([in] Windows.Graphics.DisplayAdapterId id, [out] [retval] Windows.Devices.Display.Core.DisplayAdapter** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayDevice)]
                [uuid(A4C9B62C-335F-5731-8CB4-C1CCD4731070)]
                interface IDisplayDevice : IInspectable
                {
                    HRESULT CreateScanoutSource([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Devices.Display.Core.DisplaySource** result);
                    HRESULT CreatePrimary([in] Windows.Devices.Display.Core.DisplayTarget* target, [in] Windows.Devices.Display.Core.DisplayPrimaryDescription* desc, [out] [retval] Windows.Devices.Display.Core.DisplaySurface** result);
                    HRESULT CreateTaskPool([out] [retval] Windows.Devices.Display.Core.DisplayTaskPool** result);
                    HRESULT CreatePeriodicFence([in] Windows.Devices.Display.Core.DisplayTarget* target, [in] Windows.Foundation.TimeSpan offsetFromVBlank, [out] [retval] Windows.Devices.Display.Core.DisplayFence** result);
                    HRESULT WaitForVBlank([in] Windows.Devices.Display.Core.DisplaySource* source);
                    HRESULT CreateSimpleScanout([in] Windows.Devices.Display.Core.DisplaySource* pSource, [in] Windows.Devices.Display.Core.DisplaySurface* pSurface, [in] UINT32 SubResourceIndex, [in] UINT32 SyncInterval, [out] [retval] Windows.Devices.Display.Core.DisplayScanout** result);
                    HRESULT IsCapabilitySupported([in] Windows.Devices.Display.Core.DisplayDeviceCapability capability, [out] [retval] boolean* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayDevice)]
                [uuid(3FEFE50C-0940-54BD-A02F-F9C7A536AD60)]
                interface IDisplayDevice2 : IInspectable
                {
                    HRESULT CreateSimpleScanoutWithDirtyRectsAndOptions([in] Windows.Devices.Display.Core.DisplaySource* source, [in] Windows.Devices.Display.Core.DisplaySurface* surface, [in] UINT32 subresourceIndex, [in] UINT32 syncInterval, [in] Windows.Foundation.Collections.IIterable<Windows.Graphics.RectInt32>* dirtyRects, [in] Windows.Devices.Display.Core.DisplayScanoutOptions options, [out] [retval] Windows.Devices.Display.Core.DisplayScanout** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayDevice)]
                [uuid(41C86CE5-B18F-573F-9D59-70463115E4CC)]
                interface IDisplayDeviceRenderAdapter : IInspectable
                {
                    [propget] HRESULT RenderAdapterId([out] [retval] Windows.Graphics.DisplayAdapterId* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayFence)]
                [uuid(04DCF9EF-3406-5700-8FEC-77EBA4C5A74B)]
                interface IDisplayFence : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManager)]
                [uuid(4ED9245B-15EC-56E2-9072-7FE5084A31A7)]
                interface IDisplayManager : IInspectable
                {
                    HRESULT GetCurrentTargets([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayTarget*>** result);
                    HRESULT GetCurrentAdapters([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayAdapter*>** result);
                    HRESULT TryAcquireTarget([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Devices.Display.Core.DisplayManagerResult* result);
                    HRESULT ReleaseTarget([in] Windows.Devices.Display.Core.DisplayTarget* target);
                    HRESULT TryReadCurrentStateForAllTargets([out] [retval] Windows.Devices.Display.Core.DisplayManagerResultWithState** result);
                    HRESULT TryAcquireTargetsAndReadCurrentState([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayTarget*>* targets, [out] [retval] Windows.Devices.Display.Core.DisplayManagerResultWithState** result);
                    HRESULT TryAcquireTargetsAndCreateEmptyState([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayTarget*>* targets, [out] [retval] Windows.Devices.Display.Core.DisplayManagerResultWithState** result);
                    HRESULT TryAcquireTargetsAndCreateSubstate([in] Windows.Devices.Display.Core.DisplayState* existingState, [in] Windows.Foundation.Collections.IIterable<Windows.Devices.Display.Core.DisplayTarget*>* targets, [out] [retval] Windows.Devices.Display.Core.DisplayManagerResultWithState** result);
                    HRESULT CreateDisplayDevice([in] Windows.Devices.Display.Core.DisplayAdapter* adapter, [out] [retval] Windows.Devices.Display.Core.DisplayDevice** result);
                    [eventadd] HRESULT Enabled([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerEnabledEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT Enabled([in] EventRegistrationToken token);
                    [eventadd] HRESULT Disabled([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerDisabledEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT Disabled([in] EventRegistrationToken token);
                    [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT Changed([in] EventRegistrationToken token);
                    [eventadd] HRESULT PathsFailedOrInvalidated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayManager*, Windows.Devices.Display.Core.DisplayManagerPathsFailedOrInvalidatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PathsFailedOrInvalidated([in] EventRegistrationToken token);
                    HRESULT Start();
                    HRESULT Stop();
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManager)]
                [uuid(E001EC1E-7EB1-597F-9A30-14D3FE3714CD)]
                interface IDisplayManager2 : IInspectable
                {
                    HRESULT TryReadCurrentStateForModeQuery([out] [retval] Windows.Devices.Display.Core.DisplayManagerResultWithState** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManager)]
                [uuid(6F14CB89-7F49-587D-93CE-77487CBCB530)]
                interface IDisplayManager3 : IInspectable
                {
                    HRESULT CreateDisplayDeviceForIndirectAdapter([in] Windows.Devices.Display.Core.DisplayAdapter* indirectAdapter, [in] Windows.Devices.Display.Core.DisplayAdapter* renderAdapter, [out] [retval] Windows.Devices.Display.Core.DisplayDevice** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManagerChangedEventArgs)]
                [uuid(6ABFA285-6CCA-5731-BCDC-42E5D2F5C50F)]
                interface IDisplayManagerChangedEventArgs : IInspectable
                {
                    [propget] HRESULT Handled([out] [retval] boolean* value);
                    [propput] HRESULT Handled([in] boolean value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManagerDisabledEventArgs)]
                [uuid(8726DDE4-6793-5973-A11F-5FFBC93FDB90)]
                interface IDisplayManagerDisabledEventArgs : IInspectable
                {
                    [propget] HRESULT Handled([out] [retval] boolean* value);
                    [propput] HRESULT Handled([in] boolean value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManagerEnabledEventArgs)]
                [uuid(F0CF3F6F-42FA-59A2-B297-26E1713DE848)]
                interface IDisplayManagerEnabledEventArgs : IInspectable
                {
                    [propget] HRESULT Handled([out] [retval] boolean* value);
                    [propput] HRESULT Handled([in] boolean value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManagerPathsFailedOrInvalidatedEventArgs)]
                [uuid(03A65659-1DEC-5C15-B2A2-8FE9129869FE)]
                interface IDisplayManagerPathsFailedOrInvalidatedEventArgs : IInspectable
                {
                    [propget] HRESULT Handled([out] [retval] boolean* value);
                    [propput] HRESULT Handled([in] boolean value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManagerResultWithState)]
                [uuid(8E656AA6-6614-54BE-BFEF-4994547F7BE1)]
                interface IDisplayManagerResultWithState : IInspectable
                {
                    [propget] HRESULT ErrorCode([out] [retval] Windows.Devices.Display.Core.DisplayManagerResult* value);
                    [propget] HRESULT ExtendedErrorCode([out] [retval] HRESULT* value);
                    [propget] HRESULT State([out] [retval] Windows.Devices.Display.Core.DisplayState** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayManager)]
                [uuid(2B6B9446-B999-5535-9D69-53F092C780A1)]
                interface IDisplayManagerStatics : IInspectable
                {
                    HRESULT Create([in] Windows.Devices.Display.Core.DisplayManagerOptions options, [out] [retval] Windows.Devices.Display.Core.DisplayManager** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayModeInfo)]
                [uuid(48D513A0-F79B-5A74-A05E-DA821F470868)]
                interface IDisplayModeInfo : IInspectable
                {
                    [propget] HRESULT SourceResolution([out] [retval] Windows.Graphics.SizeInt32* value);
                    [propget] HRESULT IsStereo([out] [retval] boolean* value);
                    [propget] HRESULT SourcePixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value);
                    [propget] HRESULT TargetResolution([out] [retval] Windows.Graphics.SizeInt32* value);
                    [propget] HRESULT PresentationRate([out] [retval] Windows.Devices.Display.Core.DisplayPresentationRate* value);
                    [propget] HRESULT IsInterlaced([out] [retval] boolean* value);
                    HRESULT GetWireFormatSupportedBitsPerChannel([in] Windows.Devices.Display.Core.DisplayWireFormatPixelEncoding encoding, [out] [retval] Windows.Devices.Display.Core.DisplayBitsPerChannel* result);
                    HRESULT IsWireFormatSupported([in] Windows.Devices.Display.Core.DisplayWireFormat* wireFormat, [out] [retval] boolean* result);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayModeInfo)]
                [uuid(C86FA386-0DDB-5473-BFB0-4B7807B5F909)]
                interface IDisplayModeInfo2 : IInspectable
                {
                    [propget] HRESULT PhysicalPresentationRate([out] [retval] Windows.Devices.Display.Core.DisplayPresentationRate* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayMuxDevice)]
                [uuid(D81C4925-83DD-52C9-AB4E-E0833FC75068)]
                interface IDisplayMuxDevice : IInspectable
                {
                    [propget] HRESULT Id([out] [retval] HSTRING* value);
                    [propget] HRESULT IsActive([out] [retval] boolean* value);
                    HRESULT GetAvailableMuxTargets([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayTarget*>** result);
                    [propget] HRESULT CurrentTarget([out] [retval] Windows.Devices.Display.Core.DisplayTarget** value);
                    [propget] HRESULT PreferredTarget([out] [retval] Windows.Devices.Display.Core.DisplayTarget** value);
                    [propget] HRESULT IsAutomaticTargetSwitchingEnabled([out] [retval] boolean* value);
                    HRESULT SetPreferredTarget([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                    HRESULT SetAutomaticTargetSwitching([out] [retval] Windows.Foundation.IAsyncAction** operation);
                    [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplayMuxDevice*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT Changed([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayMuxDevice)]
                [uuid(7B37A64A-0465-53DA-BAEE-70028480CED0)]
                interface IDisplayMuxDeviceStatics : IInspectable
                {
                    HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                    HRESULT FromIdAsync([in] HSTRING deviceInterfaceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Display.Core.DisplayMuxDevice*>** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayPath)]
                [uuid(B3DFD64A-7460-5CDE-811B-D5AE9F3D9F84)]
                interface IDisplayPath : IInspectable
                {
                    [propget] HRESULT View([out] [retval] Windows.Devices.Display.Core.DisplayView** value);
                    [propget] HRESULT Target([out] [retval] Windows.Devices.Display.Core.DisplayTarget** value);
                    [propget] HRESULT Status([out] [retval] Windows.Devices.Display.Core.DisplayPathStatus* value);
                    [propget] HRESULT SourceResolution([out] [retval] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>** value);
                    [propput] HRESULT SourceResolution([in] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>* value);
                    [propget] HRESULT SourcePixelFormat([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value);
                    [propput] HRESULT SourcePixelFormat([in] Windows.Graphics.DirectX.DirectXPixelFormat value);
                    [propget] HRESULT IsStereo([out] [retval] boolean* value);
                    [propput] HRESULT IsStereo([in] boolean value);
                    [propget] HRESULT TargetResolution([out] [retval] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>** value);
                    [propput] HRESULT TargetResolution([in] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>* value);
                    [propget] HRESULT PresentationRate([out] [retval] Windows.Foundation.IReference<Windows.Devices.Display.Core.DisplayPresentationRate>** value);
                    [propput] HRESULT PresentationRate([in] Windows.Foundation.IReference<Windows.Devices.Display.Core.DisplayPresentationRate>* value);
                    [propget] HRESULT IsInterlaced([out] [retval] Windows.Foundation.IReference<boolean>** value);
                    [propput] HRESULT IsInterlaced([in] Windows.Foundation.IReference<boolean>* value);
                    [propget] HRESULT WireFormat([out] [retval] Windows.Devices.Display.Core.DisplayWireFormat** value);
                    [propput] HRESULT WireFormat([in] Windows.Devices.Display.Core.DisplayWireFormat* value);
                    [propget] HRESULT Rotation([out] [retval] Windows.Devices.Display.Core.DisplayRotation* value);
                    [propput] HRESULT Rotation([in] Windows.Devices.Display.Core.DisplayRotation value);
                    [propget] HRESULT Scaling([out] [retval] Windows.Devices.Display.Core.DisplayPathScaling* value);
                    [propput] HRESULT Scaling([in] Windows.Devices.Display.Core.DisplayPathScaling value);
                    HRESULT FindModes([in] Windows.Devices.Display.Core.DisplayModeQueryOptions flags, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayModeInfo*>** result);
                    HRESULT ApplyPropertiesFromMode([in] Windows.Devices.Display.Core.DisplayModeInfo* modeResult);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMap<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayPath)]
                [uuid(F32459C5-E994-570B-9EC8-EF42C35A8547)]
                interface IDisplayPath2 : IInspectable
                {
                    [propget] HRESULT PhysicalPresentationRate([out] [retval] Windows.Foundation.IReference<Windows.Devices.Display.Core.DisplayPresentationRate>** value);
                    [propput] HRESULT PhysicalPresentationRate([in] Windows.Foundation.IReference<Windows.Devices.Display.Core.DisplayPresentationRate>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayPrimaryDescription)]
                [uuid(872591D2-D533-50FF-A85E-06696194B77C)]
                interface IDisplayPrimaryDescription : IInspectable
                {
                    [propget] HRESULT Width([out] [retval] UINT32* value);
                    [propget] HRESULT Height([out] [retval] UINT32* value);
                    [propget] HRESULT Format([out] [retval] Windows.Graphics.DirectX.DirectXPixelFormat* value);
                    [propget] HRESULT ColorSpace([out] [retval] Windows.Graphics.DirectX.DirectXColorSpace* value);
                    [propget] HRESULT IsStereo([out] [retval] boolean* value);
                    [propget] HRESULT MultisampleDescription([out] [retval] Windows.Graphics.DirectX.Direct3D11.Direct3DMultisampleDescription* value);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayPrimaryDescription)]
                [uuid(1A6AFF7B-3637-5C46-B479-76D576216E65)]
                interface IDisplayPrimaryDescriptionFactory : IInspectable
                {
                    HRESULT CreateInstance([in] UINT32 width, [in] UINT32 height, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXColorSpace colorSpace, [in] boolean isStereo, [in] Windows.Graphics.DirectX.Direct3D11.Direct3DMultisampleDescription multisampleDescription, [out] [retval] Windows.Devices.Display.Core.DisplayPrimaryDescription** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayPrimaryDescription)]
                [uuid(E60E4CFB-36C9-56DD-8FA1-6FF8C4E0FF07)]
                interface IDisplayPrimaryDescriptionStatics : IInspectable
                {
                    HRESULT CreateWithProperties([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable*>*>* extraProperties, [in] UINT32 width, [in] UINT32 height, [in] Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat, [in] Windows.Graphics.DirectX.DirectXColorSpace colorSpace, [in] boolean isStereo, [in] Windows.Graphics.DirectX.Direct3D11.Direct3DMultisampleDescription multisampleDescription, [out] [retval] Windows.Devices.Display.Core.DisplayPrimaryDescription** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayScanout)]
                [uuid(E3051828-1BA5-50E7-8A39-BB1FD2F4F8B9)]
                interface IDisplayScanout : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplaySource)]
                [uuid(ECD15FC1-EADC-51BC-971D-3BC628DB2DD4)]
                interface IDisplaySource : IInspectable
                {
                    [propget] HRESULT AdapterId([out] [retval] Windows.Graphics.DisplayAdapterId* value);
                    [propget] HRESULT SourceId([out] [retval] UINT32* value);
                    HRESULT GetMetadata([in] GUID Key, [out] [retval] Windows.Storage.Streams.IBuffer** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplaySource)]
                [uuid(71E18952-B321-5AF4-BFE8-03FBEA31E40D)]
                interface IDisplaySource2 : IInspectable
                {
                    [propget] HRESULT Status([out] [retval] Windows.Devices.Display.Core.DisplaySourceStatus* value);
                    [eventadd] HRESULT StatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Display.Core.DisplaySource*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT StatusChanged([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayState)]
                [uuid(08129321-11B5-5CB2-99F8-E90B479A8A1D)]
                interface IDisplayState : IInspectable
                {
                    [propget] HRESULT IsReadOnly([out] [retval] boolean* value);
                    [propget] HRESULT IsStale([out] [retval] boolean* value);
                    [propget] HRESULT Targets([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayTarget*>** value);
                    [propget] HRESULT Views([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayView*>** value);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMap<GUID, IInspectable*>** value);
                    [default_overload] [overload("ConnectTarget")] HRESULT ConnectTarget([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Devices.Display.Core.DisplayPath** result);
                    [overload("ConnectTarget")] HRESULT ConnectTargetToView([in] Windows.Devices.Display.Core.DisplayTarget* target, [in] Windows.Devices.Display.Core.DisplayView* view, [out] [retval] Windows.Devices.Display.Core.DisplayPath** result);
                    HRESULT CanConnectTargetToView([in] Windows.Devices.Display.Core.DisplayTarget* target, [in] Windows.Devices.Display.Core.DisplayView* view, [out] [retval] boolean* result);
                    HRESULT GetViewForTarget([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Devices.Display.Core.DisplayView** result);
                    HRESULT GetPathForTarget([in] Windows.Devices.Display.Core.DisplayTarget* target, [out] [retval] Windows.Devices.Display.Core.DisplayPath** result);
                    HRESULT DisconnectTarget([in] Windows.Devices.Display.Core.DisplayTarget* target);
                    HRESULT TryFunctionalize([in] Windows.Devices.Display.Core.DisplayStateFunctionalizeOptions options, [out] [retval] Windows.Devices.Display.Core.DisplayStateOperationResult** result);
                    HRESULT TryApply([in] Windows.Devices.Display.Core.DisplayStateApplyOptions options, [out] [retval] Windows.Devices.Display.Core.DisplayStateOperationResult** result);
                    HRESULT Clone([out] [retval] Windows.Devices.Display.Core.DisplayState** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayStateOperationResult)]
                [uuid(FCADBFDF-DC27-5638-B7F2-EBDFA4F7EA93)]
                interface IDisplayStateOperationResult : IInspectable
                {
                    [propget] HRESULT Status([out] [retval] Windows.Devices.Display.Core.DisplayStateOperationStatus* value);
                    [propget] HRESULT ExtendedErrorCode([out] [retval] HRESULT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplaySurface)]
                [uuid(594F6CC6-139A-56D6-A4B1-15FE2CB76ADB)]
                interface IDisplaySurface : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTarget)]
                [uuid(AEC57C6F-47B4-546B-987C-E73FA791FE3A)]
                interface IDisplayTarget : IInspectable
                {
                    [propget] HRESULT Adapter([out] [retval] Windows.Devices.Display.Core.DisplayAdapter** value);
                    [propget] HRESULT DeviceInterfacePath([out] [retval] HSTRING* value);
                    [propget] HRESULT AdapterRelativeId([out] [retval] UINT32* value);
                    [propget] HRESULT IsConnected([out] [retval] boolean* value);
                    [propget] HRESULT IsVirtualModeEnabled([out] [retval] boolean* value);
                    [propget] HRESULT IsVirtualTopologyEnabled([out] [retval] boolean* value);
                    [propget] HRESULT UsageKind([out] [retval] Windows.Devices.Display.DisplayMonitorUsageKind* value);
                    [propget] HRESULT MonitorPersistence([out] [retval] Windows.Devices.Display.Core.DisplayTargetPersistence* value);
                    [propget] HRESULT StableMonitorId([out] [retval] HSTRING* value);
                    HRESULT TryGetMonitor([out] [retval] Windows.Devices.Display.DisplayMonitor** result);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
                    [propget] HRESULT IsStale([out] [retval] boolean* value);
                    HRESULT IsSame([in] Windows.Devices.Display.Core.DisplayTarget* otherTarget, [out] [retval] boolean* result);
                    HRESULT IsEqual([in] Windows.Devices.Display.Core.DisplayTarget* otherTarget, [out] [retval] boolean* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTask)]
                [uuid(5E087448-135B-5BB0-BF63-637F84227C7A)]
                interface IDisplayTask : IInspectable
                {
                    HRESULT SetScanout([in] Windows.Devices.Display.Core.DisplayScanout* scanout);
                    HRESULT SetWait([in] Windows.Devices.Display.Core.DisplayFence* readyFence, [in] UINT64 readyFenceValue);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTask)]
                [uuid(0957EA19-BD55-55DE-9267-C97B61E71C37)]
                interface IDisplayTask2 : IInspectable
                {
                    HRESULT SetSignal([in] Windows.Devices.Display.Core.DisplayTaskSignalKind signalKind, [in] Windows.Devices.Display.Core.DisplayFence* fence);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTaskPool)]
                [uuid(C676253D-237D-5548-AAFA-3E517FEFEF1C)]
                interface IDisplayTaskPool : IInspectable
                {
                    HRESULT CreateTask([out] [retval] Windows.Devices.Display.Core.DisplayTask** result);
                    [deprecated("Use TryExecuteTask instead of ExecuteTask. For more info see MSDN", deprecate, Windows.Foundation.UniversalApiContract, 13.0)] HRESULT ExecuteTask([in] Windows.Devices.Display.Core.DisplayTask* task);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTaskPool)]
                [uuid(46B879B6-5D17-5955-A872-EB38003DB586)]
                interface IDisplayTaskPool2 : IInspectable
                {
                    HRESULT TryExecuteTask([in] Windows.Devices.Display.Core.DisplayTask* task, [out] [retval] Windows.Devices.Display.Core.DisplayTaskResult** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayTaskResult)]
                [uuid(6FBC7D67-F9B1-55E0-9D88-D3A5197A3F59)]
                interface IDisplayTaskResult : IInspectable
                {
                    [propget] HRESULT PresentStatus([out] [retval] Windows.Devices.Display.Core.DisplayPresentStatus* value);
                    [propget] HRESULT PresentId([out] [retval] UINT64* value);
                    [propget] HRESULT SourceStatus([out] [retval] Windows.Devices.Display.Core.DisplaySourceStatus* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayView)]
                [uuid(B0C98CA1-B759-5B59-B1AD-F0786AA9E53D)]
                interface IDisplayView : IInspectable
                {
                    [propget] HRESULT Paths([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Display.Core.DisplayPath*>** value);
                    [propget] HRESULT ContentResolution([out] [retval] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>** value);
                    [propput] HRESULT ContentResolution([in] Windows.Foundation.IReference<Windows.Graphics.SizeInt32>* value);
                    HRESULT SetPrimaryPath([in] Windows.Devices.Display.Core.DisplayPath* path);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMap<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayWireFormat)]
                [uuid(1ACC967D-872C-5A38-BBB9-1D4872B76255)]
                interface IDisplayWireFormat : IInspectable
                {
                    [propget] HRESULT PixelEncoding([out] [retval] Windows.Devices.Display.Core.DisplayWireFormatPixelEncoding* value);
                    [propget] HRESULT BitsPerChannel([out] [retval] INT32* value);
                    [propget] HRESULT ColorSpace([out] [retval] Windows.Devices.Display.Core.DisplayWireFormatColorSpace* value);
                    [propget] HRESULT Eotf([out] [retval] Windows.Devices.Display.Core.DisplayWireFormatEotf* value);
                    [propget] HRESULT HdrMetadata([out] [retval] Windows.Devices.Display.Core.DisplayWireFormatHdrMetadata* value);
                    [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayWireFormat)]
                [uuid(B2EFC8D5-09D6-55E6-AD22-9014B3D25229)]
                interface IDisplayWireFormatFactory : IInspectable
                {
                    HRESULT CreateInstance([in] Windows.Devices.Display.Core.DisplayWireFormatPixelEncoding pixelEncoding, [in] INT32 bitsPerChannel, [in] Windows.Devices.Display.Core.DisplayWireFormatColorSpace colorSpace, [in] Windows.Devices.Display.Core.DisplayWireFormatEotf eotf, [in] Windows.Devices.Display.Core.DisplayWireFormatHdrMetadata hdrMetadata, [out] [retval] Windows.Devices.Display.Core.DisplayWireFormat** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.Devices.Display.Core.DisplayWireFormat)]
                [uuid(C575A22D-C3E6-5F7A-BDFB-87C6AB8661D5)]
                interface IDisplayWireFormatStatics : IInspectable
                {
                    HRESULT CreateWithProperties([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, IInspectable*>*>* extraProperties, [in] Windows.Devices.Display.Core.DisplayWireFormatPixelEncoding pixelEncoding, [in] INT32 bitsPerChannel, [in] Windows.Devices.Display.Core.DisplayWireFormatColorSpace colorSpace, [in] Windows.Devices.Display.Core.DisplayWireFormatEotf eotf, [in] Windows.Devices.Display.Core.DisplayWireFormatHdrMetadata hdrMetadata, [out] [retval] Windows.Devices.Display.Core.DisplayWireFormat** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Devices.Display.Core.IDisplayAdapterStatics, Windows.Foundation.UniversalApiContract, 7.0)]
                [threading(both)]
                runtimeclass DisplayAdapter
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayAdapter;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Devices.Display.Core.IDisplayAdapter2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayDevice
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayDevice;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplayDevice2;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Devices.Display.Core.IDisplayDeviceRenderAdapter;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayFence
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayFence;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Devices.Display.Core.IDisplayManagerStatics, Windows.Foundation.UniversalApiContract, 7.0)]
                [threading(both)]
                runtimeclass DisplayManager
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManager;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Devices.Display.Core.IDisplayManager2;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Devices.Display.Core.IDisplayManager3;
                    interface Windows.Foundation.IClosable;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayManagerChangedEventArgs
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManagerChangedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayManagerDisabledEventArgs
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManagerDisabledEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayManagerEnabledEventArgs
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManagerEnabledEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayManagerPathsFailedOrInvalidatedEventArgs
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManagerPathsFailedOrInvalidatedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayManagerResultWithState
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayManagerResultWithState;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayModeInfo
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayModeInfo;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplayModeInfo2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Devices.Display.Core.IDisplayMuxDeviceStatics, Windows.Foundation.UniversalApiContract, 19.0)]
                [threading(both)]
                runtimeclass DisplayMuxDevice
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayMuxDevice;
                    interface Windows.Foundation.IClosable;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayPath
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayPath;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplayPath2;
                }

                [activatable(Windows.Devices.Display.Core.IDisplayPrimaryDescriptionFactory, Windows.Foundation.UniversalApiContract, 7.0)]
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Devices.Display.Core.IDisplayPrimaryDescriptionStatics, Windows.Foundation.UniversalApiContract, 7.0)]
                [threading(both)]
                runtimeclass DisplayPrimaryDescription
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayPrimaryDescription;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayScanout
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayScanout;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplaySource
                {
                    [default] interface Windows.Devices.Display.Core.IDisplaySource;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplaySource2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayState
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayState;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayStateOperationResult
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayStateOperationResult;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplaySurface
                {
                    [default] interface Windows.Devices.Display.Core.IDisplaySurface;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayTarget
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayTarget;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayTask
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayTask;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplayTask2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayTaskPool
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayTaskPool;
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Devices.Display.Core.IDisplayTaskPool2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayTaskResult
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayTaskResult;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                runtimeclass DisplayView
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayView;
                }

                [activatable(Windows.Devices.Display.Core.IDisplayWireFormatFactory, Windows.Foundation.UniversalApiContract, 7.0)]
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Devices.Display.Core.IDisplayWireFormatStatics, Windows.Foundation.UniversalApiContract, 7.0)]
                [threading(both)]
                runtimeclass DisplayWireFormat
                {
                    [default] interface Windows.Devices.Display.Core.IDisplayWireFormat;
                }
            }
        }
    }
}
