//
// 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.Activation.idl";
import "Windows.Devices.Printers.idl";
import "Windows.Graphics.Printing.PrintTicket.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";

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

            interface IActivatedEventArgsWithUser;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Printers
        {
            runtimeclass IppAttributeValue;

            runtimeclass IppPrintDevice;

            runtimeclass IppSetAttributesResult;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IAsyncAction;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintTicket
            {
                runtimeclass WorkflowPrintTicket;
            }
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IInputStream;

            interface IOutputStream;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace Workflow
            {
                typedef enum PdlConversionHostBasedProcessingOperations PdlConversionHostBasedProcessingOperations;

                typedef enum PrintWorkflowAttributesMergePolicy PrintWorkflowAttributesMergePolicy;

                typedef enum PrintWorkflowJobAbortReason PrintWorkflowJobAbortReason;

                typedef enum PrintWorkflowJobIssueKind PrintWorkflowJobIssueKind;

                typedef enum PrintWorkflowPdlConversionType PrintWorkflowPdlConversionType;

                typedef enum PrintWorkflowPrinterJobStatus PrintWorkflowPrinterJobStatus;

                typedef enum PrintWorkflowSessionStatus PrintWorkflowSessionStatus;

                typedef enum PrintWorkflowSubmittedStatus PrintWorkflowSubmittedStatus;

                typedef enum PrintWorkflowUICompletionStatus PrintWorkflowUICompletionStatus;

                interface IPrintWorkflowBackgroundSession;

                interface IPrintWorkflowBackgroundSetupRequestedEventArgs;

                interface IPrintWorkflowConfiguration;

                interface IPrintWorkflowConfiguration2;

                interface IPrintWorkflowForegroundSession;

                interface IPrintWorkflowForegroundSetupRequestedEventArgs;

                interface IPrintWorkflowJobActivatedEventArgs;

                interface IPrintWorkflowJobBackgroundSession;

                interface IPrintWorkflowJobBackgroundSession2;

                interface IPrintWorkflowJobBackgroundSession3;

                interface IPrintWorkflowJobIssueDetectedEventArgs;

                interface IPrintWorkflowJobNotificationEventArgs;

                interface IPrintWorkflowJobStartingEventArgs;

                interface IPrintWorkflowJobStartingEventArgs2;

                interface IPrintWorkflowJobTriggerDetails;

                interface IPrintWorkflowJobUISession;

                interface IPrintWorkflowJobUISession2;

                interface IPrintWorkflowObjectModelProvider;

                interface IPrintWorkflowObjectModelSourceFileContent;

                interface IPrintWorkflowObjectModelSourceFileContentFactory;

                interface IPrintWorkflowObjectModelTargetPackage;

                interface IPrintWorkflowPdlConverter;

                interface IPrintWorkflowPdlConverter2;

                interface IPrintWorkflowPdlConverter3;

                interface IPrintWorkflowPdlDataAvailableEventArgs;

                interface IPrintWorkflowPdlModificationRequestedEventArgs;

                interface IPrintWorkflowPdlModificationRequestedEventArgs2;

                interface IPrintWorkflowPdlModificationRequestedEventArgs3;

                interface IPrintWorkflowPdlSourceContent;

                interface IPrintWorkflowPdlTargetStream;

                interface IPrintWorkflowPrinterJob;

                interface IPrintWorkflowPrinterJob2;

                interface IPrintWorkflowPrinterJobStatusChangedEventArgs;

                interface IPrintWorkflowSourceContent;

                interface IPrintWorkflowSpoolStreamContent;

                interface IPrintWorkflowStreamTarget;

                interface IPrintWorkflowSubmittedEventArgs;

                interface IPrintWorkflowSubmittedOperation;

                interface IPrintWorkflowTarget;

                interface IPrintWorkflowTriggerDetails;

                interface IPrintWorkflowUIActivatedEventArgs;

                interface IPrintWorkflowUILauncher;

                interface IPrintWorkflowVirtualPrinterDataAvailableEventArgs;

                interface IPrintWorkflowVirtualPrinterSession;

                interface IPrintWorkflowVirtualPrinterTriggerDetails;

                interface IPrintWorkflowVirtualPrinterUIEventArgs;

                interface IPrintWorkflowXpsDataAvailableEventArgs;

                interface IPrintWorkflowXpsObjectModelProvider;

                runtimeclass PrintWorkflowBackgroundSession;

                runtimeclass PrintWorkflowBackgroundSetupRequestedEventArgs;

                runtimeclass PrintWorkflowConfiguration;

                runtimeclass PrintWorkflowForegroundSession;

                runtimeclass PrintWorkflowForegroundSetupRequestedEventArgs;

                runtimeclass PrintWorkflowJobActivatedEventArgs;

                runtimeclass PrintWorkflowJobBackgroundSession;

                runtimeclass PrintWorkflowJobIssueDetectedEventArgs;

                runtimeclass PrintWorkflowJobNotificationEventArgs;

                runtimeclass PrintWorkflowJobStartingEventArgs;

                runtimeclass PrintWorkflowJobTriggerDetails;

                runtimeclass PrintWorkflowJobUISession;

                runtimeclass PrintWorkflowObjectModelSourceFileContent;

                runtimeclass PrintWorkflowObjectModelTargetPackage;

                runtimeclass PrintWorkflowPdlConverter;

                runtimeclass PrintWorkflowPdlDataAvailableEventArgs;

                runtimeclass PrintWorkflowPdlModificationRequestedEventArgs;

                runtimeclass PrintWorkflowPdlSourceContent;

                runtimeclass PrintWorkflowPdlTargetStream;

                runtimeclass PrintWorkflowPrinterJob;

                runtimeclass PrintWorkflowPrinterJobStatusChangedEventArgs;

                runtimeclass PrintWorkflowSourceContent;

                runtimeclass PrintWorkflowSpoolStreamContent;

                runtimeclass PrintWorkflowStreamTarget;

                runtimeclass PrintWorkflowSubmittedEventArgs;

                runtimeclass PrintWorkflowSubmittedOperation;

                runtimeclass PrintWorkflowTarget;

                runtimeclass PrintWorkflowTriggerDetails;

                runtimeclass PrintWorkflowUIActivatedEventArgs;

                runtimeclass PrintWorkflowUILauncher;

                runtimeclass PrintWorkflowVirtualPrinterDataAvailableEventArgs;

                runtimeclass PrintWorkflowVirtualPrinterSession;

                runtimeclass PrintWorkflowVirtualPrinterTriggerDetails;

                runtimeclass PrintWorkflowVirtualPrinterUIEventArgs;

                runtimeclass PrintWorkflowXpsDataAvailableEventArgs;

                runtimeclass PrintWorkflowXpsObjectModelProvider;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace Workflow
            {
                declare
                {
                    interface Windows.Foundation.IAsyncOperation<Windows.Graphics.Printing.Workflow.PrintWorkflowUICompletionStatus>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSetupRequestedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSetupRequestedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowXpsDataAvailableEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobIssueDetectedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobStartingEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPdlModificationRequestedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJobStatusChangedEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobNotificationEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPdlDataAvailableEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterUIEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterDataAvailableEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace Workflow
            {
                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [flags]
                enum PdlConversionHostBasedProcessingOperations
                {
                    None               = 0x0,
                    PageRotation       = 0x1,
                    PageOrdering       = 0x2,
                    Copies             = 0x4,
                    BlankPageInsertion = 0x8,
                    All                = 0xFFFFFFFF
                };

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                enum PrintWorkflowAttributesMergePolicy
                {
                    MergePreferPrintTicketOnConflict = 0,
                    MergePreferPsaOnConflict         = 1,
                    DoNotMergeWithPrintTicket        = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum PrintWorkflowJobAbortReason
                {
                    JobFailed    = 0,
                    UserCanceled = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                enum PrintWorkflowJobIssueKind
                {
                    Other                = 0,
                    AttentionRequired    = 1,
                    DoorOpen             = 2,
                    MarkerSupplyLow      = 3,
                    MarkerSupplyEmpty    = 4,
                    MediaJam             = 5,
                    MediaEmpty           = 6,
                    MediaLow             = 7,
                    OutputAreaAlmostFull = 8,
                    OutputAreaFull       = 9,
                    JobPrintingError     = 10
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum PrintWorkflowPdlConversionType
                {
                    XpsToPdf  = 0,
                    XpsToPwgr = 1,
                    XpsToPclm = 2,
                    [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                    XpsToTiff = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum PrintWorkflowPrinterJobStatus
                {
                    Error      = 0,
                    Aborted    = 1,
                    InProgress = 2,
                    Completed  = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                enum PrintWorkflowSessionStatus
                {
                    Started                         = 0,
                    Completed                       = 1,
                    Aborted                         = 2,
                    Closed                          = 3,
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                    PdlDataAvailableForModification = 4
                };

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                enum PrintWorkflowSubmittedStatus
                {
                    Succeeded = 0,
                    Canceled  = 1,
                    Failed    = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                enum PrintWorkflowUICompletionStatus
                {
                    Completed    = 0,
                    LaunchFailed = 1,
                    JobFailed    = 2,
                    UserCanceled = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession)]
                [uuid(5B7913BA-0C5E-528A-7458-86A46CBDDC45)]
                interface IPrintWorkflowBackgroundSession : IInspectable
                {
                    [eventadd] HRESULT SetupRequested([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSetupRequestedEventArgs*>* setupEventHandler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SetupRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT Submitted([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedEventArgs*>* submittedEventHandler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT Submitted([in] EventRegistrationToken token);
                    [propget] HRESULT Status([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSessionStatus* value);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSetupRequestedEventArgs)]
                [uuid(43E97342-1750-59C9-61FB-383748A20362)]
                interface IPrintWorkflowBackgroundSetupRequestedEventArgs : IInspectable
                {
                    HRESULT GetUserPrintTicketAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket*>** operation);
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** configuration);
                    HRESULT SetRequiresUI();
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration)]
                [uuid(D0AAC4ED-FD4B-5DF5-4BB6-8D0D159EBE3F)]
                interface IPrintWorkflowConfiguration : IInspectable
                {
                    [propget] HRESULT SourceAppDisplayName([out] [retval] HSTRING* value);
                    [propget] HRESULT JobTitle([out] [retval] HSTRING* value);
                    [propget] HRESULT SessionId([out] [retval] HSTRING* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration)]
                [uuid(DE350A50-A6D4-5BE2-8B9A-09D3D39EA780)]
                interface IPrintWorkflowConfiguration2 : IInspectable
                {
                    HRESULT AbortPrintFlow([in] Windows.Graphics.Printing.Workflow.PrintWorkflowJobAbortReason reason);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession)]
                [uuid(C79B63D0-F8EC-4CEB-953A-C8876157DD33)]
                interface IPrintWorkflowForegroundSession : IInspectable
                {
                    [eventadd] HRESULT SetupRequested([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSetupRequestedEventArgs*>* setupEventHandler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SetupRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT XpsDataAvailable([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowXpsDataAvailableEventArgs*>* xpsDataAvailableEventHandler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT XpsDataAvailable([in] EventRegistrationToken token);
                    [propget] HRESULT Status([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSessionStatus* value);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSetupRequestedEventArgs)]
                [uuid(BBE38247-9C1B-4DD3-9B2B-C80468D941B3)]
                interface IPrintWorkflowForegroundSetupRequestedEventArgs : IInspectable
                {
                    HRESULT GetUserPrintTicketAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket*>** operation);
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobActivatedEventArgs)]
                [uuid(D4BD5E6D-034E-5E00-A616-F961A033DCC8)]
                interface IPrintWorkflowJobActivatedEventArgs : IInspectable
                {
                    [propget] HRESULT Session([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession)]
                [uuid(C5EC6AD8-20C9-5D51-8507-2734B46F96C5)]
                interface IPrintWorkflowJobBackgroundSession : IInspectable
                {
                    [propget] HRESULT Status([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSessionStatus* value);
                    [eventadd] HRESULT JobStarting([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobStartingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT JobStarting([in] EventRegistrationToken token);
                    [eventadd] HRESULT PdlModificationRequested([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPdlModificationRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PdlModificationRequested([in] EventRegistrationToken token);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession)]
                [uuid(592AADAF-EF26-5A55-AD21-5F63FFCF8366)]
                interface IPrintWorkflowJobBackgroundSession2 : IInspectable
                {
                    [eventadd] HRESULT JobIssueDetected([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobIssueDetectedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT JobIssueDetected([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession)]
                [experimental]
                [uuid(5757086C-EDCC-5A94-90EC-A0A87C1115E7)]
                interface IPrintWorkflowJobBackgroundSession3 : IInspectable
                {
                    [eventadd] HRESULT JobStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJobStatusChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT JobStatusChanged([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobIssueDetectedEventArgs)]
                [uuid(DE58A46E-E41E-550A-A9FB-4B1F93FB9D98)]
                interface IPrintWorkflowJobIssueDetectedEventArgs : IInspectable
                {
                    [propget] HRESULT JobIssueKind([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowJobIssueKind* value);
                    [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                    [propget] HRESULT SkipSystemErrorToast([out] [retval] boolean* value);
                    [propput] HRESULT SkipSystemErrorToast([in] boolean value);
                    [propget] HRESULT PrinterJob([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob** value);
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT UILauncher([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowUILauncher** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobNotificationEventArgs)]
                [uuid(0AE16FBA-5398-5EBA-B472-978650186A9A)]
                interface IPrintWorkflowJobNotificationEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT PrinterJob([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobStartingEventArgs)]
                [uuid(E3D99BA8-31AD-5E09-B0D7-601B97F161AD)]
                interface IPrintWorkflowJobStartingEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                    HRESULT SetSkipSystemRendering();
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobStartingEventArgs)]
                [uuid(7DEDED67-D3DC-5B23-8690-4EBFC0F0914A)]
                interface IPrintWorkflowJobStartingEventArgs2 : IInspectable
                {
                    [propget] HRESULT IsIppCompressionEnabled([out] [retval] boolean* value);
                    HRESULT DisableIppCompressionForJob();
                    [propget] HRESULT SkipSystemFaxUI([out] [retval] boolean* value);
                    [propput] HRESULT SkipSystemFaxUI([in] boolean value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobTriggerDetails)]
                [uuid(FF296129-60E2-51DB-BA8C-E2CCDDB516B9)]
                interface IPrintWorkflowJobTriggerDetails : IInspectable
                {
                    [propget] HRESULT PrintWorkflowJobSession([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowJobBackgroundSession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession)]
                [uuid(00C8736B-7637-5687-A302-0F664D2AAC65)]
                interface IPrintWorkflowJobUISession : IInspectable
                {
                    [propget] HRESULT Status([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSessionStatus* value);
                    [eventadd] HRESULT PdlDataAvailable([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowPdlDataAvailableEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT PdlDataAvailable([in] EventRegistrationToken token);
                    [eventadd] HRESULT JobNotification([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowJobNotificationEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT JobNotification([in] EventRegistrationToken token);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession)]
                [uuid(A8529368-9174-5C78-9FDB-894A82E92ADA)]
                interface IPrintWorkflowJobUISession2 : IInspectable
                {
                    [eventadd] HRESULT VirtualPrinterUIDataAvailable([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowJobUISession*, Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterUIEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT VirtualPrinterUIDataAvailable([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [uuid(E3A9F883-6A2D-489B-BC1F-7AAB44249622)]
                interface IPrintWorkflowObjectModelProvider : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelSourceFileContent)]
                [uuid(C36C8A6A-8A2A-419A-B3C3-2090E6BFAB2F)]
                interface IPrintWorkflowObjectModelSourceFileContent : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelSourceFileContent)]
                [uuid(93B1B903-F013-56D6-B708-99AC2CCB12EE)]
                interface IPrintWorkflowObjectModelSourceFileContentFactory : IInspectable
                {
                    HRESULT CreateInstance([in] Windows.Storage.Streams.IInputStream* xpsStream, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelSourceFileContent** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelTargetPackage)]
                [uuid(7D96BC74-9B54-4CA1-AD3A-979C3D44DDAC)]
                interface IPrintWorkflowObjectModelTargetPackage : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConverter)]
                [uuid(40604B62-0AE4-51F1-818F-731DC0B005AB)]
                interface IPrintWorkflowPdlConverter : IInspectable
                {
                    HRESULT ConvertPdlAsync([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket, [in] Windows.Storage.Streams.IInputStream* inputStream, [in] Windows.Storage.Streams.IOutputStream* outputStream, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConverter)]
                [uuid(854CEEC1-7837-5B93-B7AF-57A6998C2F71)]
                interface IPrintWorkflowPdlConverter2 : IInspectable
                {
                    HRESULT ConvertPdlAsync([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket, [in] Windows.Storage.Streams.IInputStream* inputStream, [in] Windows.Storage.Streams.IOutputStream* outputStream, [in] Windows.Graphics.Printing.Workflow.PdlConversionHostBasedProcessingOperations hostBasedProcessingOperations, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConverter)]
                [experimental]
                [uuid(6B556B4F-3756-5DA6-B1F7-8F9E89F629FB)]
                interface IPrintWorkflowPdlConverter3 : IInspectable
                {
                    HRESULT ConvertPdlFromObjectModelAsync([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket, [in] Windows.Graphics.Printing.Workflow.IPrintWorkflowObjectModelProvider* objectModelProvider, [in] Windows.Storage.Streams.IOutputStream* outputStream, [in] Windows.Graphics.Printing.Workflow.PdlConversionHostBasedProcessingOperations hostBasedProcessingOperations, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlDataAvailableEventArgs)]
                [uuid(D4AD6B50-1547-5991-A0EF-E2EE20211518)]
                interface IPrintWorkflowPdlDataAvailableEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT PrinterJob([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob** value);
                    [propget] HRESULT SourceContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlSourceContent** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlModificationRequestedEventArgs)]
                [uuid(1A339A61-2E13-5EDD-A707-CEEC61D7333B)]
                interface IPrintWorkflowPdlModificationRequestedEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT PrinterJob([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob** value);
                    [propget] HRESULT SourceContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlSourceContent** value);
                    [propget] HRESULT UILauncher([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowUILauncher** value);
                    HRESULT CreateJobOnPrinter([in] HSTRING targetContentType, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream** result);
                    HRESULT CreateJobOnPrinterWithAttributes([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* jobAttributes, [in] HSTRING targetContentType, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream** result);
                    HRESULT CreateJobOnPrinterWithAttributesBuffer([in] Windows.Storage.Streams.IBuffer* jobAttributesBuffer, [in] HSTRING targetContentType, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream** result);
                    HRESULT GetPdlConverter([in] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConversionType conversionType, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConverter** result);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 15.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlModificationRequestedEventArgs)]
                [uuid(8D692147-6C62-5E31-A0E7-D49F92C111C0)]
                interface IPrintWorkflowPdlModificationRequestedEventArgs2 : IInspectable
                {
                    HRESULT CreateJobOnPrinterWithAttributes([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* jobAttributes, [in] HSTRING targetContentType, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* operationAttributes, [in] Windows.Graphics.Printing.Workflow.PrintWorkflowAttributesMergePolicy jobAttributesMergePolicy, [in] Windows.Graphics.Printing.Workflow.PrintWorkflowAttributesMergePolicy operationAttributesMergePolicy, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream** result);
                    HRESULT CreateJobOnPrinterWithAttributesBuffer([in] Windows.Storage.Streams.IBuffer* jobAttributesBuffer, [in] HSTRING targetContentType, [in] Windows.Storage.Streams.IBuffer* operationAttributesBuffer, [in] Windows.Graphics.Printing.Workflow.PrintWorkflowAttributesMergePolicy jobAttributesMergePolicy, [in] Windows.Graphics.Printing.Workflow.PrintWorkflowAttributesMergePolicy operationAttributesMergePolicy, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlModificationRequestedEventArgs)]
                [experimental]
                [uuid(1F50A7D4-DB49-5D3E-BA27-B366CB25CD7E)]
                interface IPrintWorkflowPdlModificationRequestedEventArgs3 : IInspectable
                {
                    HRESULT DisableIppCompressionForJob();
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlSourceContent)]
                [uuid(92F7FC41-32B8-56AB-845E-B1E68B3AEDD5)]
                interface IPrintWorkflowPdlSourceContent : IInspectable
                {
                    [propget] HRESULT ContentType([out] [retval] HSTRING* value);
                    HRESULT GetInputStream([out] [retval] Windows.Storage.Streams.IInputStream** result);
                    HRESULT GetContentFileAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile*>** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPdlTargetStream)]
                [uuid(A742DFE5-1EE3-52A9-9F9F-2E2043180FD1)]
                interface IPrintWorkflowPdlTargetStream : IInspectable
                {
                    HRESULT GetOutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** result);
                    HRESULT CompleteStreamSubmission([in] Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedStatus status);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob)]
                [uuid(12009F94-0D14-5443-BC09-250311CE570B)]
                interface IPrintWorkflowPrinterJob : IInspectable
                {
                    [propget] HRESULT JobId([out] [retval] INT32* value);
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                    HRESULT GetJobStatus([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJobStatus* result);
                    HRESULT GetJobPrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** result);
                    HRESULT GetJobAttributesAsBuffer([in] Windows.Foundation.Collections.IIterable<HSTRING>* attributeNames, [out] [retval] Windows.Storage.Streams.IBuffer** result);
                    HRESULT GetJobAttributes([in] Windows.Foundation.Collections.IIterable<HSTRING>* attributeNames, [out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.Devices.Printers.IppAttributeValue*>** result);
                    HRESULT SetJobAttributesFromBuffer([in] Windows.Storage.Streams.IBuffer* jobAttributesBuffer, [out] [retval] Windows.Devices.Printers.IppSetAttributesResult** result);
                    HRESULT SetJobAttributes([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* jobAttributes, [out] [retval] Windows.Devices.Printers.IppSetAttributesResult** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob)]
                [uuid(747E21D7-69A9-5229-B8F0-874CA1A8871B)]
                interface IPrintWorkflowPrinterJob2 : IInspectable
                {
                    HRESULT ConvertPrintTicketToJobAttributes([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* printTicket, [in] HSTRING targetPdlFormat, [out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.Devices.Printers.IppAttributeValue*>** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJobStatusChangedEventArgs)]
                [experimental]
                [uuid(4A6275B9-BE67-5718-921A-348C56F9D25F)]
                interface IPrintWorkflowPrinterJobStatusChangedEventArgs : IInspectable
                {
                    [propget] HRESULT PrinterJob([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPrinterJob** value);
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowSourceContent)]
                [uuid(1A28C641-CEB1-4533-BB73-FBE63EEFDB18)]
                interface IPrintWorkflowSourceContent : IInspectable
                {
                    HRESULT GetJobPrintTicketAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket*>** operation);
                    HRESULT GetSourceSpoolDataAsStreamContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSpoolStreamContent** result);
                    HRESULT GetSourceSpoolDataAsXpsObjectModel([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelSourceFileContent** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowSpoolStreamContent)]
                [uuid(72E55ECE-E406-4B74-84E1-3FF3FDCDAF70)]
                interface IPrintWorkflowSpoolStreamContent : IInspectable
                {
                    HRESULT GetInputStream([out] [retval] Windows.Storage.Streams.IInputStream** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowStreamTarget)]
                [uuid(B23BBA84-8565-488B-9839-1C9E7C7AA916)]
                interface IPrintWorkflowStreamTarget : IInspectable
                {
                    HRESULT GetOutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedEventArgs)]
                [uuid(3ADD0A41-3794-5569-5C87-40E8FF720F83)]
                interface IPrintWorkflowSubmittedEventArgs : IInspectable
                {
                    [propget] HRESULT Operation([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedOperation** value);
                    HRESULT GetTarget([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* jobPrintTicket, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowTarget** result);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedOperation)]
                [uuid(2E4E6216-3BE1-5F0F-5C81-A5A2BD4EAB0E)]
                interface IPrintWorkflowSubmittedOperation : IInspectable
                {
                    HRESULT Complete([in] Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedStatus status);
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT XpsContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSourceContent** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowTarget)]
                [uuid(29DA276C-0A73-5AED-4F3D-970D3251F057)]
                interface IPrintWorkflowTarget : IInspectable
                {
                    [propget] HRESULT TargetAsStream([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowStreamTarget** value);
                    [propget] HRESULT TargetAsXpsObjectModelPackage([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowObjectModelTargetPackage** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowTriggerDetails)]
                [uuid(5739D868-9D86-4052-B0CB-F310BECD59BB)]
                interface IPrintWorkflowTriggerDetails : IInspectable
                {
                    [propget] HRESULT PrintWorkflowSession([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowBackgroundSession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowUIActivatedEventArgs)]
                [uuid(BC8A844D-09EB-5746-72A6-8DC8B5EDBE9B)]
                interface IPrintWorkflowUIActivatedEventArgs : IInspectable
                    requires
                        Windows.ApplicationModel.Activation.IActivatedEventArgs,
                        Windows.ApplicationModel.Activation.IActivatedEventArgsWithUser
                {
                    [propget] HRESULT PrintWorkflowSession([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowForegroundSession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowUILauncher)]
                [uuid(64E9E22F-14CC-5828-96FB-39163FB6C378)]
                interface IPrintWorkflowUILauncher : IInspectable
                {
                    HRESULT IsUILaunchEnabled([out] [retval] boolean* result);
                    HRESULT LaunchAndCompleteUIAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Graphics.Printing.Workflow.PrintWorkflowUICompletionStatus>** operation);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterDataAvailableEventArgs)]
                [uuid(6B7D5003-14A8-5D52-A428-07330FBAB11F)]
                interface IPrintWorkflowVirtualPrinterDataAvailableEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT SourceContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlSourceContent** value);
                    [propget] HRESULT UILauncher([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowUILauncher** value);
                    HRESULT GetJobPrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** result);
                    HRESULT GetPdlConverter([in] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConversionType conversionType, [out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlConverter** result);
                    HRESULT GetTargetFileAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFile*>** operation);
                    HRESULT CompleteJob([in] Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedStatus status);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterSession)]
                [uuid(AA3926F2-8485-5C27-A016-9D39E3BA2614)]
                interface IPrintWorkflowVirtualPrinterSession : IInspectable
                {
                    [propget] HRESULT Status([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSessionStatus* value);
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                    [eventadd] HRESULT VirtualPrinterDataAvailable([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterSession*, Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterDataAvailableEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT VirtualPrinterDataAvailable([in] EventRegistrationToken token);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterTriggerDetails)]
                [uuid(FF8F2297-727B-53EC-B9E0-F393F72D4E50)]
                interface IPrintWorkflowVirtualPrinterTriggerDetails : IInspectable
                {
                    [propget] HRESULT VirtualPrinterSession([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterSession** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowVirtualPrinterUIEventArgs)]
                [uuid(334DBBCA-BF10-585F-B7E0-58C4AA43A03F)]
                interface IPrintWorkflowVirtualPrinterUIEventArgs : IInspectable
                {
                    [propget] HRESULT Configuration([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowConfiguration** value);
                    [propget] HRESULT Printer([out] [retval] Windows.Devices.Printers.IppPrintDevice** value);
                    [propget] HRESULT SourceContent([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowPdlSourceContent** value);
                    HRESULT GetJobPrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** result);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowXpsDataAvailableEventArgs)]
                [uuid(4D11C331-54D1-434E-BE0E-82C5FA58E5B2)]
                interface IPrintWorkflowXpsDataAvailableEventArgs : IInspectable
                {
                    [propget] HRESULT Operation([out] [retval] Windows.Graphics.Printing.Workflow.PrintWorkflowSubmittedOperation** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [exclusiveto(Windows.Graphics.Printing.Workflow.PrintWorkflowXpsObjectModelProvider)]
                [experimental]
                [uuid(97D8C1AD-96D7-56CC-B660-A71495632CEB)]
                interface IPrintWorkflowXpsObjectModelProvider : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowBackgroundSession
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowBackgroundSession;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowBackgroundSetupRequestedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowBackgroundSetupRequestedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowConfiguration
                {
                    [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowConfiguration2;
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowConfiguration;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowForegroundSession
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowForegroundSession;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowForegroundSetupRequestedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowForegroundSetupRequestedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobActivatedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobActivatedEventArgs;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgs;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgsWithUser;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobBackgroundSession
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobBackgroundSession;
                    [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobBackgroundSession2;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobBackgroundSession3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 17.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobIssueDetectedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobIssueDetectedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobNotificationEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobNotificationEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobStartingEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobStartingEventArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobStartingEventArgs2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobTriggerDetails
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobTriggerDetails;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowJobUISession
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobUISession;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowJobUISession2;
                }

                [activatable(Windows.Graphics.Printing.Workflow.IPrintWorkflowObjectModelSourceFileContentFactory, Windows.Foundation.UniversalApiContract, 13.0)]
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowObjectModelSourceFileContent
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowObjectModelSourceFileContent;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowObjectModelTargetPackage
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowObjectModelTargetPackage;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPdlConverter
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlConverter;
                    [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlConverter2;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlConverter3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPdlDataAvailableEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlDataAvailableEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPdlModificationRequestedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlModificationRequestedEventArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlModificationRequestedEventArgs2;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlModificationRequestedEventArgs3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPdlSourceContent
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlSourceContent;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPdlTargetStream
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPdlTargetStream;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPrinterJob
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPrinterJob;
                    [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPrinterJob2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowPrinterJobStatusChangedEventArgs
                {
                    [default] [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowPrinterJobStatusChangedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowSourceContent
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowSourceContent;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowSpoolStreamContent
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowSpoolStreamContent;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowStreamTarget
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowStreamTarget;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowSubmittedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowSubmittedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowSubmittedOperation
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowSubmittedOperation;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowTarget
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowTarget;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowTriggerDetails
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowTriggerDetails;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowUIActivatedEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowUIActivatedEventArgs;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgsWithUser;
                    interface Windows.ApplicationModel.Activation.IActivatedEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 13.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowUILauncher
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowUILauncher;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowVirtualPrinterDataAvailableEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowVirtualPrinterDataAvailableEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowVirtualPrinterSession
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowVirtualPrinterSession;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowVirtualPrinterTriggerDetails
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowVirtualPrinterTriggerDetails;
                }

                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [marshaling_behavior(agile)]
                runtimeclass PrintWorkflowVirtualPrinterUIEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowVirtualPrinterUIEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowXpsDataAvailableEventArgs
                {
                    [default] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowXpsDataAvailableEventArgs;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 19.0)]
                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                [experimental]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass PrintWorkflowXpsObjectModelProvider
                {
                    [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowXpsObjectModelProvider;
                    [default] [experimental] interface Windows.Graphics.Printing.Workflow.IPrintWorkflowObjectModelProvider;
                }
            }
        }
    }
}
