//
// 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.ApplicationModel.idl";
import "Windows.ApplicationModel.Activation.idl";
import "Windows.Data.Xml.Dom.idl";
import "Windows.Devices.Printers.idl";
import "Windows.Graphics.Printing.PrintTicket.idl";
import "Windows.UI.idl";
import "Windows.UI.Shell.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Activation
        {
            interface IActivatedEventArgs;

            interface IActivatedEventArgsWithUser;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        runtimeclass AppInfo;
    }
}
namespace Windows
{
    namespace Data
    {
        namespace Xml
        {
            namespace Dom
            {
                runtimeclass XmlDocument;
            }
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Printers
        {
            runtimeclass IppPrintDevice;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintTicket
            {
                runtimeclass WorkflowPrintTicket;
            }
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Shell
        {
            interface IAdaptiveCard;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct WindowId WindowId;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintSupport
            {
                typedef enum IppCommunicationErrorKind IppCommunicationErrorKind;

                typedef enum IppPrinterCommunicationKind IppPrinterCommunicationKind;

                typedef enum PrintSupportAppContracts PrintSupportAppContracts;

                typedef enum SettingsLaunchKind SettingsLaunchKind;

                typedef enum WorkflowPrintTicketValidationStatus WorkflowPrintTicketValidationStatus;

                typedef enum XpsImageQuality XpsImageQuality;

                interface IPrintSupportAppInfo;

                interface IPrintSupportAppInfoStatics;

                interface IPrintSupportCommunicationErrorDetectedEventArgs;

                interface IPrintSupportEnterpriseManagementUIEventArgs;

                interface IPrintSupportExtensionSession;

                interface IPrintSupportExtensionSession2;

                interface IPrintSupportExtensionSession3;

                interface IPrintSupportExtensionTriggerDetails;

                interface IPrintSupportIppCommunicationConfiguration;

                interface IPrintSupportIppCommunicationTimeouts;

                interface IPrintSupportMxdcImageQualityConfiguration;

                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs;

                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs2;

                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs3;

                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs4;

                interface IPrintSupportPrintDeviceCapabilitiesUpdatePolicy;

                interface IPrintSupportPrintDeviceCapabilitiesUpdatePolicyStatics;

                interface IPrintSupportPrintTicketElement;

                interface IPrintSupportPrintTicketValidationRequestedEventArgs;

                interface IPrintSupportPrintTicketValidationRequestedEventArgs2;

                interface IPrintSupportPrinterSelectedEventArgs;

                interface IPrintSupportSessionInfo;

                interface IPrintSupportSettingsActivatedEventArgs;

                interface IPrintSupportSettingsActivatedEventArgs2;

                interface IPrintSupportSettingsUISession;

                runtimeclass PrintSupportAppInfo;

                runtimeclass PrintSupportCommunicationErrorDetectedEventArgs;

                runtimeclass PrintSupportEnterpriseManagementUIEventArgs;

                runtimeclass PrintSupportExtensionSession;

                runtimeclass PrintSupportExtensionTriggerDetails;

                runtimeclass PrintSupportIppCommunicationConfiguration;

                runtimeclass PrintSupportIppCommunicationTimeouts;

                runtimeclass PrintSupportMxdcImageQualityConfiguration;

                runtimeclass PrintSupportPrintDeviceCapabilitiesChangedEventArgs;

                runtimeclass PrintSupportPrintDeviceCapabilitiesUpdatePolicy;

                runtimeclass PrintSupportPrintTicketElement;

                runtimeclass PrintSupportPrintTicketValidationRequestedEventArgs;

                runtimeclass PrintSupportPrinterSelectedEventArgs;

                runtimeclass PrintSupportSessionInfo;

                runtimeclass PrintSupportSettingsActivatedEventArgs;

                runtimeclass PrintSupportSettingsUISession;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintSupport
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketElement*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketElement*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportCommunicationErrorDetectedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketValidationRequestedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrinterSelectedEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintSupport
            {
                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                enum IppCommunicationErrorKind
                {
                    Other           = 0,
                    Timeout         = 1,
                    ConnectionError = 2,
                    AccessDenied    = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                enum IppPrinterCommunicationKind
                {
                    Network           = 0,
                    Usb               = 1,
                    PrinterConnection = 2,
                    UniversalPrint    = 3,
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                    VirtualPrinter    = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [flags]
                enum PrintSupportAppContracts
                {
                    None                            = 0x0,
                    JobBackgroundSession            = 0x1,
                    SettingsUI                      = 0x2,
                    Extension                       = 0x4,
                    JobUI                           = 0x8,
                    VirtualPrinterBackgroundSession = 0x10,
                    EnterpriseManagementUI          = 0x20
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum SettingsLaunchKind
                {
                    JobPrintTicket         = 0,
                    UserDefaultPrintTicket = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum WorkflowPrintTicketValidationStatus
                {
                    Resolved    = 0,
                    Conflicting = 1,
                    Invalid     = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                enum XpsImageQuality
                {
                    JpegHighCompression   = 0,
                    JpegMediumCompression = 1,
                    JpegLowCompression    = 2,
                    Png                   = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportAppInfo)]
                [experimental]
                [uuid(913CD9E0-CB44-5AE4-B984-F6E80E872320)]
                interface IPrintSupportAppInfo : IInspectable
                {
                    [propget] HRESULT AppInfo([out] [retval] Windows.ApplicationModel.AppInfo** value);
                    [propget] HRESULT SupportedContracts([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportAppContracts* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportAppInfo)]
                [experimental]
                [uuid(3246A41D-2757-544D-AAFA-B38461896270)]
                interface IPrintSupportAppInfoStatics : IInspectable
                {
                    HRESULT GetPrintJobShowsUI([in] HSTRING printerName, [in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket, [out] [retval] Windows.Foundation.IReference<boolean>** result);
                    HRESULT FromPrinterName([in] HSTRING printerName, [out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportAppInfo** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportCommunicationErrorDetectedEventArgs)]
                [uuid(9C90151E-AD1B-5081-A491-4A2D94244F2D)]
                interface IPrintSupportCommunicationErrorDetectedEventArgs : IInspectable
                {
                    [propget] HRESULT ErrorKind([out] [retval] Windows.Graphics.Printing.PrintSupport.IppCommunicationErrorKind* value);
                    [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                    [propget] HRESULT CommunicationConfiguration([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationConfiguration** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportEnterpriseManagementUIEventArgs)]
                [experimental]
                [uuid(6B1C2850-4BF7-5894-89FA-E89D9EA4EB2E)]
                interface IPrintSupportEnterpriseManagementUIEventArgs : IInspectable
                {
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession)]
                [uuid(EEA45F1A-F4C6-54B3-A0B8-A559839AA4C3)]
                interface IPrintSupportExtensionSession : IInspectable
                {
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                    [eventadd] HRESULT PrintTicketValidationRequested([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketValidationRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PrintTicketValidationRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT PrintDeviceCapabilitiesChanged([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PrintDeviceCapabilitiesChanged([in] EventRegistrationToken token);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession)]
                [uuid(10FA8C11-6DE8-5765-8FCF-E716E0F27ED1)]
                interface IPrintSupportExtensionSession2 : IInspectable
                {
                    [eventadd] HRESULT PrinterSelected([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportPrinterSelectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PrinterSelected([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession)]
                [uuid(0D1B755D-1273-5E14-81D3-B6BB582B9ED8)]
                interface IPrintSupportExtensionSession3 : IInspectable
                {
                    [eventadd] HRESULT CommunicationErrorDetected([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession*, Windows.Graphics.Printing.PrintSupport.PrintSupportCommunicationErrorDetectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT CommunicationErrorDetected([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionTriggerDetails)]
                [uuid(AE083711-9B09-55D1-A0AE-2A14C5F83D6A)]
                interface IPrintSupportExtensionTriggerDetails : IInspectable
                {
                    [propget] HRESULT Session([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportExtensionSession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationConfiguration)]
                [uuid(DBC36E0B-2D90-53B9-90D2-93FAF30DAFDD)]
                interface IPrintSupportIppCommunicationConfiguration : IInspectable
                {
                    [propget] HRESULT CommunicationKind([out] [retval] Windows.Graphics.Printing.PrintSupport.IppPrinterCommunicationKind* value);
                    [propget] HRESULT CanModifyTimeouts([out] [retval] boolean* value);
                    [propget] HRESULT IppAttributeTimeouts([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationTimeouts** value);
                    [propget] HRESULT IppJobTimeouts([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationTimeouts** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationTimeouts)]
                [uuid(A3B2DE71-564C-5806-A1A9-C6043CA5D373)]
                interface IPrintSupportIppCommunicationTimeouts : IInspectable
                {
                    [propget] HRESULT ConnectTimeout([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propput] HRESULT ConnectTimeout([in] Windows.Foundation.TimeSpan value);
                    [propget] HRESULT SendTimeout([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propput] HRESULT SendTimeout([in] Windows.Foundation.TimeSpan value);
                    [propget] HRESULT ReceiveTimeout([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propput] HRESULT ReceiveTimeout([in] Windows.Foundation.TimeSpan value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportMxdcImageQualityConfiguration)]
                [uuid(0E0D0B86-D202-58A3-A1ED-2EF9DBC0F291)]
                interface IPrintSupportMxdcImageQualityConfiguration : IInspectable
                {
                    [propget] HRESULT NormalOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT NormalOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT DraftOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT DraftOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT HighOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT HighOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT PhotographicOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT PhotographicOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT TextOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT TextOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT AutomaticOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT AutomaticOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                    [propget] HRESULT FaxOutputQuality([out] [retval] Windows.Graphics.Printing.PrintSupport.XpsImageQuality* value);
                    [propput] HRESULT FaxOutputQuality([in] Windows.Graphics.Printing.PrintSupport.XpsImageQuality value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs)]
                [uuid(15969BF0-9028-5722-8A37-7D7C34B41DD6)]
                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs : IInspectable
                {
                    HRESULT GetCurrentPrintDeviceCapabilities([out] [retval] Windows.Data.Xml.Dom.XmlDocument** result);
                    HRESULT UpdatePrintDeviceCapabilities([in] Windows.Data.Xml.Dom.XmlDocument* updatedPdc);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs)]
                [uuid(469DF9E7-FD07-5EEB-A07D-9FCC67F089BA)]
                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs2 : IInspectable
                {
                    HRESULT SetSupportedPdlPassthroughContentTypes([in] Windows.Foundation.Collections.IIterable<HSTRING>* supportedPdlContentTypes);
                    [propget] HRESULT ResourceLanguage([out] [retval] HSTRING* value);
                    HRESULT GetCurrentPrintDeviceResources([out] [retval] Windows.Data.Xml.Dom.XmlDocument** result);
                    HRESULT UpdatePrintDeviceResources([in] Windows.Data.Xml.Dom.XmlDocument* updatedPdr);
                    HRESULT SetPrintDeviceCapabilitiesUpdatePolicy([in] Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesUpdatePolicy* updatePolicy);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs)]
                [uuid(D4E9B3FC-8094-5CB6-A343-CE7A97187B45)]
                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs3 : IInspectable
                {
                    [propget] HRESULT CommunicationConfiguration([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportIppCommunicationConfiguration** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesChangedEventArgs)]
                [uuid(31734AD5-9BFB-5BFB-BDEF-8476258E3390)]
                interface IPrintSupportPrintDeviceCapabilitiesChangedEventArgs4 : IInspectable
                {
                    [propget] HRESULT MxdcImageQualityConfiguration([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportMxdcImageQualityConfiguration** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesUpdatePolicy)]
                [uuid(5F5FC025-8C35-5529-8038-8CDC3634BBCD)]
                interface IPrintSupportPrintDeviceCapabilitiesUpdatePolicy : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesUpdatePolicy)]
                [uuid(3D9E1A70-7C39-551F-AA1F-F8CA35B3119E)]
                interface IPrintSupportPrintDeviceCapabilitiesUpdatePolicyStatics : IInspectable
                {
                    HRESULT CreatePeriodicRefresh([in] Windows.Foundation.TimeSpan updatePeriod, [out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesUpdatePolicy** result);
                    HRESULT CreatePrintJobRefresh([in] UINT32 numberOfJobs, [out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportPrintDeviceCapabilitiesUpdatePolicy** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketElement)]
                [uuid(4B2A4489-730D-5BE7-80E6-8332941ABF13)]
                interface IPrintSupportPrintTicketElement : IInspectable
                {
                    [propget] HRESULT LocalName([out] [retval] HSTRING* value);
                    [propput] HRESULT LocalName([in] HSTRING value);
                    [propget] HRESULT NamespaceUri([out] [retval] HSTRING* value);
                    [propput] HRESULT NamespaceUri([in] HSTRING value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketValidationRequestedEventArgs)]
                [uuid(338E4E69-DB55-55C7-8338-EF64680A8F90)]
                interface IPrintSupportPrintTicketValidationRequestedEventArgs : IInspectable
                {
                    [propget] HRESULT PrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** value);
                    HRESULT SetPrintTicketValidationStatus([in] Windows.Graphics.Printing.PrintSupport.WorkflowPrintTicketValidationStatus status);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketValidationRequestedEventArgs)]
                [experimental]
                [uuid(39749075-D02D-5FD1-9C4B-46BB8DB7316B)]
                interface IPrintSupportPrintTicketValidationRequestedEventArgs2 : IInspectable
                {
                    HRESULT SetPrintJobShowsUI([in] boolean showsUI);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportPrinterSelectedEventArgs)]
                [uuid(7B1CB7D9-A8A4-5C09-ADB2-66165F817977)]
                interface IPrintSupportPrinterSelectedEventArgs : IInspectable
                {
                    [propget] HRESULT SourceAppInfo([out] [retval] Windows.ApplicationModel.AppInfo** value);
                    [propget] HRESULT PrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** value);
                    [propput] HRESULT PrintTicket([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* value);
                    HRESULT SetAdditionalFeatures([in] Windows.Foundation.Collections.IIterable<Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketElement*>* features);
                    HRESULT SetAdditionalParameters([in] Windows.Foundation.Collections.IIterable<Windows.Graphics.Printing.PrintSupport.PrintSupportPrintTicketElement*>* parameters);
                    [propget] HRESULT AllowedAdditionalFeaturesAndParametersCount([out] [retval] UINT32* value);
                    HRESULT SetAdaptiveCard([in] Windows.UI.Shell.IAdaptiveCard* adaptiveCard);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportSessionInfo)]
                [uuid(852149AF-777D-53E9-9EE9-45D3F4B5BE9C)]
                interface IPrintSupportSessionInfo : IInspectable
                {
                    [propget] HRESULT SourceAppInfo([out] [retval] Windows.ApplicationModel.AppInfo** value);
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportSettingsActivatedEventArgs)]
                [uuid(1E1B565E-A013-55EA-9B8C-EEA39D9FB6C1)]
                interface IPrintSupportSettingsActivatedEventArgs : IInspectable
                {
                    [propget] HRESULT Session([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportSettingsUISession** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportSettingsActivatedEventArgs)]
                [uuid(ABE45F6E-DC9D-5403-8107-C864D9276367)]
                interface IPrintSupportSettingsActivatedEventArgs2 : IInspectable
                {
                    [propget] HRESULT OwnerWindowId([out] [retval] Windows.UI.WindowId* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.PrintSupport.PrintSupportSettingsUISession)]
                [uuid(C6DA2251-83C3-55E4-A0F8-5DE8B062ADBF)]
                interface IPrintSupportSettingsUISession : IInspectable
                {
                    [propget] HRESULT SessionPrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** value);
                    [propget] HRESULT DocumentTitle([out] [retval] HSTRING* value);
                    [propget] HRESULT LaunchKind([out] [retval] Windows.Graphics.Printing.PrintSupport.SettingsLaunchKind* value);
                    HRESULT UpdatePrintTicket([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket);
                    [propget] HRESULT SessionInfo([out] [retval] Windows.Graphics.Printing.PrintSupport.PrintSupportSessionInfo** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [marshaling_behavior(agile)]
                [static(Windows.Graphics.Printing.PrintSupport.IPrintSupportAppInfoStatics, Windows.Foundation.UniversalApiContract, 19.0)]
                [threading(both)]
                runtimeclass PrintSupportAppInfo
                {
                    [default] [experimental] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportAppInfo;
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportCommunicationErrorDetectedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportCommunicationErrorDetectedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportEnterpriseManagementUIEventArgs
                {
                    [default] [experimental] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportEnterpriseManagementUIEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportExtensionSession
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportExtensionSession;
                    [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportExtensionSession2;
                    [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportExtensionSession3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportExtensionTriggerDetails
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportExtensionTriggerDetails;
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportIppCommunicationConfiguration
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportIppCommunicationConfiguration;
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportIppCommunicationTimeouts
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportIppCommunicationTimeouts;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportMxdcImageQualityConfiguration
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportMxdcImageQualityConfiguration;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportPrintDeviceCapabilitiesChangedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesChangedEventArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesChangedEventArgs2;
                    [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesChangedEventArgs3;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesChangedEventArgs4;
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [marshaling_behavior(agile)]
                [static(Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesUpdatePolicyStatics, Windows.Foundation.UniversalApiContract, 15.0)]
                [threading(both)]
                runtimeclass PrintSupportPrintDeviceCapabilitiesUpdatePolicy
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintDeviceCapabilitiesUpdatePolicy;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 15.0)]
                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintSupportPrintTicketElement
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintTicketElement;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportPrintTicketValidationRequestedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintTicketValidationRequestedEventArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] [experimental] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrintTicketValidationRequestedEventArgs2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportPrinterSelectedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportPrinterSelectedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportSessionInfo
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportSessionInfo;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportSettingsActivatedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportSettingsActivatedEventArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportSettingsActivatedEventArgs2;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgs;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgsWithUser;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintSupportSettingsUISession
                {
                    [default] interface Windows.Graphics.Printing.PrintSupport.IPrintSupportSettingsUISession;
                }
            }
        }
    }
}
