//
// 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.DataTransfer.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace DataTransfer
        {
            runtimeclass DataPackagePropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        typedef struct Rect Rect;

        typedef struct Size Size;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStream;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            typedef enum PrintBinding PrintBinding;

            typedef enum PrintBordering PrintBordering;

            typedef enum PrintCollation PrintCollation;

            typedef enum PrintColorMode PrintColorMode;

            typedef enum PrintDuplex PrintDuplex;

            typedef enum PrintHolePunch PrintHolePunch;

            typedef enum PrintMediaSize PrintMediaSize;

            typedef enum PrintMediaType PrintMediaType;

            typedef enum PrintOrientation PrintOrientation;

            typedef enum PrintQuality PrintQuality;

            typedef enum PrintStaple PrintStaple;

            typedef enum PrintTaskCompletion PrintTaskCompletion;

            typedef struct PrintPageDescription PrintPageDescription;

            delegate PrintTaskSourceRequestedHandler;

            interface IPrintDocumentSource;

            interface IPrintManager;

            interface IPrintManagerStatic;

            interface IPrintManagerStatic2;

            interface IPrintPageInfo;

            interface IPrintPageRange;

            interface IPrintPageRangeFactory;

            interface IPrintPageRangeOptions;

            interface IPrintTask;

            interface IPrintTask2;

            interface IPrintTaskCompletedEventArgs;

            interface IPrintTaskOptions;

            interface IPrintTaskOptions2;

            interface IPrintTaskOptionsCore;

            interface IPrintTaskOptionsCoreProperties;

            interface IPrintTaskOptionsCoreUIConfiguration;

            interface IPrintTaskProgressingEventArgs;

            interface IPrintTaskRequest;

            interface IPrintTaskRequestedDeferral;

            interface IPrintTaskRequestedEventArgs;

            interface IPrintTaskSourceRequestedArgs;

            interface IPrintTaskSourceRequestedDeferral;

            interface IPrintTaskTargetDeviceSupport;

            interface IStandardPrintTaskOptionsStatic;

            interface IStandardPrintTaskOptionsStatic2;

            interface IStandardPrintTaskOptionsStatic3;

            runtimeclass PrintManager;

            runtimeclass PrintPageInfo;

            runtimeclass PrintPageRange;

            runtimeclass PrintPageRangeOptions;

            runtimeclass PrintTask;

            runtimeclass PrintTaskCompletedEventArgs;

            runtimeclass PrintTaskOptions;

            runtimeclass PrintTaskProgressingEventArgs;

            runtimeclass PrintTaskRequest;

            runtimeclass PrintTaskRequestedDeferral;

            runtimeclass PrintTaskRequestedEventArgs;

            runtimeclass PrintTaskSourceRequestedArgs;

            runtimeclass PrintTaskSourceRequestedDeferral;

            runtimeclass StandardPrintTaskOptions;
        }
    }
}

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

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

                interface Windows.Foundation.Collections.IVectorView<Windows.Graphics.Printing.PrintPageRange*>;

                interface Windows.Foundation.Collections.IVector<Windows.Graphics.Printing.PrintPageRange*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintManager*, Windows.Graphics.Printing.PrintTaskRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, Windows.Graphics.Printing.PrintTaskCompletedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, Windows.Graphics.Printing.PrintTaskProgressingEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintBinding
            {
                Default          = 0,
                NotAvailable     = 1,
                PrinterCustom    = 2,
                None             = 3,
                Bale             = 4,
                BindBottom       = 5,
                BindLeft         = 6,
                BindRight        = 7,
                BindTop          = 8,
                Booklet          = 9,
                EdgeStitchBottom = 10,
                EdgeStitchLeft   = 11,
                EdgeStitchRight  = 12,
                EdgeStitchTop    = 13,
                Fold             = 14,
                JogOffset        = 15,
                Trim             = 16
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum PrintBordering
            {
                Default       = 0,
                NotAvailable  = 1,
                PrinterCustom = 2,
                Bordered      = 3,
                Borderless    = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintCollation
            {
                Default       = 0,
                NotAvailable  = 1,
                PrinterCustom = 2,
                Collated      = 3,
                Uncollated    = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintColorMode
            {
                Default       = 0,
                NotAvailable  = 1,
                PrinterCustom = 2,
                Color         = 3,
                Grayscale     = 4,
                Monochrome    = 5,
                [contract(Windows.Foundation.UniversalApiContract, 16.0)]
                AutoSelect    = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintDuplex
            {
                Default           = 0,
                NotAvailable      = 1,
                PrinterCustom     = 2,
                OneSided          = 3,
                TwoSidedShortEdge = 4,
                TwoSidedLongEdge  = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintHolePunch
            {
                Default       = 0,
                NotAvailable  = 1,
                PrinterCustom = 2,
                None          = 3,
                LeftEdge      = 4,
                RightEdge     = 5,
                TopEdge       = 6,
                BottomEdge    = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintMediaSize
            {
                Default                             = 0,
                NotAvailable                        = 1,
                PrinterCustom                       = 2,
                BusinessCard                        = 3,
                CreditCard                          = 4,
                IsoA0                               = 5,
                IsoA1                               = 6,
                IsoA10                              = 7,
                IsoA2                               = 8,
                IsoA3                               = 9,
                IsoA3Extra                          = 10,
                IsoA3Rotated                        = 11,
                IsoA4                               = 12,
                IsoA4Extra                          = 13,
                IsoA4Rotated                        = 14,
                IsoA5                               = 15,
                IsoA5Extra                          = 16,
                IsoA5Rotated                        = 17,
                IsoA6                               = 18,
                IsoA6Rotated                        = 19,
                IsoA7                               = 20,
                IsoA8                               = 21,
                IsoA9                               = 22,
                IsoB0                               = 23,
                IsoB1                               = 24,
                IsoB10                              = 25,
                IsoB2                               = 26,
                IsoB3                               = 27,
                IsoB4                               = 28,
                IsoB4Envelope                       = 29,
                IsoB5Envelope                       = 30,
                IsoB5Extra                          = 31,
                IsoB7                               = 32,
                IsoB8                               = 33,
                IsoB9                               = 34,
                IsoC0                               = 35,
                IsoC1                               = 36,
                IsoC10                              = 37,
                IsoC2                               = 38,
                IsoC3                               = 39,
                IsoC3Envelope                       = 40,
                IsoC4                               = 41,
                IsoC4Envelope                       = 42,
                IsoC5                               = 43,
                IsoC5Envelope                       = 44,
                IsoC6                               = 45,
                IsoC6C5Envelope                     = 46,
                IsoC6Envelope                       = 47,
                IsoC7                               = 48,
                IsoC8                               = 49,
                IsoC9                               = 50,
                IsoDLEnvelope                       = 51,
                IsoDLEnvelopeRotated                = 52,
                IsoSRA3                             = 53,
                Japan2LPhoto                        = 54,
                JapanChou3Envelope                  = 55,
                JapanChou3EnvelopeRotated           = 56,
                JapanChou4Envelope                  = 57,
                JapanChou4EnvelopeRotated           = 58,
                JapanDoubleHagakiPostcard           = 59,
                JapanDoubleHagakiPostcardRotated    = 60,
                JapanHagakiPostcard                 = 61,
                JapanHagakiPostcardRotated          = 62,
                JapanKaku2Envelope                  = 63,
                JapanKaku2EnvelopeRotated           = 64,
                JapanKaku3Envelope                  = 65,
                JapanKaku3EnvelopeRotated           = 66,
                JapanLPhoto                         = 67,
                JapanQuadrupleHagakiPostcard        = 68,
                JapanYou1Envelope                   = 69,
                JapanYou2Envelope                   = 70,
                JapanYou3Envelope                   = 71,
                JapanYou4Envelope                   = 72,
                JapanYou4EnvelopeRotated            = 73,
                JapanYou6Envelope                   = 74,
                JapanYou6EnvelopeRotated            = 75,
                JisB0                               = 76,
                JisB1                               = 77,
                JisB10                              = 78,
                JisB2                               = 79,
                JisB3                               = 80,
                JisB4                               = 81,
                JisB4Rotated                        = 82,
                JisB5                               = 83,
                JisB5Rotated                        = 84,
                JisB6                               = 85,
                JisB6Rotated                        = 86,
                JisB7                               = 87,
                JisB8                               = 88,
                JisB9                               = 89,
                NorthAmerica10x11                   = 90,
                NorthAmerica10x12                   = 91,
                NorthAmerica10x14                   = 92,
                NorthAmerica11x17                   = 93,
                NorthAmerica14x17                   = 94,
                NorthAmerica4x6                     = 95,
                NorthAmerica4x8                     = 96,
                NorthAmerica5x7                     = 97,
                NorthAmerica8x10                    = 98,
                NorthAmerica9x11                    = 99,
                NorthAmericaArchitectureASheet      = 100,
                NorthAmericaArchitectureBSheet      = 101,
                NorthAmericaArchitectureCSheet      = 102,
                NorthAmericaArchitectureDSheet      = 103,
                NorthAmericaArchitectureESheet      = 104,
                NorthAmericaCSheet                  = 105,
                NorthAmericaDSheet                  = 106,
                NorthAmericaESheet                  = 107,
                NorthAmericaExecutive               = 108,
                NorthAmericaGermanLegalFanfold      = 109,
                NorthAmericaGermanStandardFanfold   = 110,
                NorthAmericaLegal                   = 111,
                NorthAmericaLegalExtra              = 112,
                NorthAmericaLetter                  = 113,
                NorthAmericaLetterExtra             = 114,
                NorthAmericaLetterPlus              = 115,
                NorthAmericaLetterRotated           = 116,
                NorthAmericaMonarchEnvelope         = 117,
                NorthAmericaNote                    = 118,
                NorthAmericaNumber10Envelope        = 119,
                NorthAmericaNumber10EnvelopeRotated = 120,
                NorthAmericaNumber11Envelope        = 121,
                NorthAmericaNumber12Envelope        = 122,
                NorthAmericaNumber14Envelope        = 123,
                NorthAmericaNumber9Envelope         = 124,
                NorthAmericaPersonalEnvelope        = 125,
                NorthAmericaQuarto                  = 126,
                NorthAmericaStatement               = 127,
                NorthAmericaSuperA                  = 128,
                NorthAmericaSuperB                  = 129,
                NorthAmericaTabloid                 = 130,
                NorthAmericaTabloidExtra            = 131,
                OtherMetricA3Plus                   = 132,
                OtherMetricA4Plus                   = 133,
                OtherMetricFolio                    = 134,
                OtherMetricInviteEnvelope           = 135,
                OtherMetricItalianEnvelope          = 136,
                Prc10Envelope                       = 137,
                Prc10EnvelopeRotated                = 138,
                Prc16K                              = 139,
                Prc16KRotated                       = 140,
                Prc1Envelope                        = 141,
                Prc1EnvelopeRotated                 = 142,
                Prc2Envelope                        = 143,
                Prc2EnvelopeRotated                 = 144,
                Prc32K                              = 145,
                Prc32KBig                           = 146,
                Prc32KRotated                       = 147,
                Prc3Envelope                        = 148,
                Prc3EnvelopeRotated                 = 149,
                Prc4Envelope                        = 150,
                Prc4EnvelopeRotated                 = 151,
                Prc5Envelope                        = 152,
                Prc5EnvelopeRotated                 = 153,
                Prc6Envelope                        = 154,
                Prc6EnvelopeRotated                 = 155,
                Prc7Envelope                        = 156,
                Prc7EnvelopeRotated                 = 157,
                Prc8Envelope                        = 158,
                Prc8EnvelopeRotated                 = 159,
                Prc9Envelope                        = 160,
                Prc9EnvelopeRotated                 = 161,
                Roll04Inch                          = 162,
                Roll06Inch                          = 163,
                Roll08Inch                          = 164,
                Roll12Inch                          = 165,
                Roll15Inch                          = 166,
                Roll18Inch                          = 167,
                Roll22Inch                          = 168,
                Roll24Inch                          = 169,
                Roll30Inch                          = 170,
                Roll36Inch                          = 171,
                Roll54Inch                          = 172
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintMediaType
            {
                Default               = 0,
                NotAvailable          = 1,
                PrinterCustom         = 2,
                AutoSelect            = 3,
                Archival              = 4,
                BackPrintFilm         = 5,
                Bond                  = 6,
                CardStock             = 7,
                Continuous            = 8,
                EnvelopePlain         = 9,
                EnvelopeWindow        = 10,
                Fabric                = 11,
                HighResolution        = 12,
                Label                 = 13,
                MultiLayerForm        = 14,
                MultiPartForm         = 15,
                Photographic          = 16,
                PhotographicFilm      = 17,
                PhotographicGlossy    = 18,
                PhotographicHighGloss = 19,
                PhotographicMatte     = 20,
                PhotographicSatin     = 21,
                PhotographicSemiGloss = 22,
                Plain                 = 23,
                Screen                = 24,
                ScreenPaged           = 25,
                Stationery            = 26,
                TabStockFull          = 27,
                TabStockPreCut        = 28,
                Transparency          = 29,
                TShirtTransfer        = 30,
                None                  = 31
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintOrientation
            {
                Default          = 0,
                NotAvailable     = 1,
                PrinterCustom    = 2,
                Portrait         = 3,
                PortraitFlipped  = 4,
                Landscape        = 5,
                LandscapeFlipped = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintQuality
            {
                Default       = 0,
                NotAvailable  = 1,
                PrinterCustom = 2,
                Automatic     = 3,
                Draft         = 4,
                Fax           = 5,
                High          = 6,
                Normal        = 7,
                Photographic  = 8,
                Text          = 9
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintStaple
            {
                Default           = 0,
                NotAvailable      = 1,
                PrinterCustom     = 2,
                None              = 3,
                StapleTopLeft     = 4,
                StapleTopRight    = 5,
                StapleBottomLeft  = 6,
                StapleBottomRight = 7,
                StapleDualLeft    = 8,
                StapleDualRight   = 9,
                StapleDualTop     = 10,
                StapleDualBottom  = 11,
                SaddleStitch      = 12
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PrintTaskCompletion
            {
                Abandoned = 0,
                Canceled  = 1,
                Failed    = 2,
                Submitted = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct PrintPageDescription
            {
                Windows.Foundation.Size PageSize;
                Windows.Foundation.Rect ImageableRect;
                UINT32 DpiX;
                UINT32 DpiY;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(6C109FA8-5CB6-4B3A-8663-F39CB02DC9B4)]
            delegate
                HRESULT PrintTaskSourceRequestedHandler([in] Windows.Graphics.Printing.PrintTaskSourceRequestedArgs* args);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(DEDC0C30-F1EB-47DF-AAE6-ED5427511F01)]
            interface IPrintDocumentSource : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintManager)]
            [uuid(FF2A9694-8C99-44FD-AE4A-19D9AA9A0F0A)]
            interface IPrintManager : IInspectable
            {
                [eventadd] HRESULT PrintTaskRequested([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintManager*, Windows.Graphics.Printing.PrintTaskRequestedEventArgs*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT PrintTaskRequested([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintManager)]
            [uuid(58185DCD-E634-4654-84F0-E0152A8217AC)]
            interface IPrintManagerStatic : IInspectable
            {
                HRESULT GetForCurrentView([out] [retval] Windows.Graphics.Printing.PrintManager** printingManager);
                HRESULT ShowPrintUIAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintManager)]
            [uuid(35A99955-E6AB-4139-9ABD-B86A729B3598)]
            interface IPrintManagerStatic2 : IInspectable
            {
                HRESULT IsSupported([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintPageInfo)]
            [uuid(DD4BE9C9-A6A1-4ADA-930E-DA872A4F23D3)]
            interface IPrintPageInfo : IInspectable
            {
                [propput] HRESULT MediaSize([in] Windows.Graphics.Printing.PrintMediaSize value);
                [propget] HRESULT MediaSize([out] [retval] Windows.Graphics.Printing.PrintMediaSize* value);
                [propput] HRESULT PageSize([in] Windows.Foundation.Size value);
                [propget] HRESULT PageSize([out] [retval] Windows.Foundation.Size* value);
                [propput] HRESULT DpiX([in] UINT32 value);
                [propget] HRESULT DpiX([out] [retval] UINT32* value);
                [propput] HRESULT DpiY([in] UINT32 value);
                [propget] HRESULT DpiY([out] [retval] UINT32* value);
                [propput] HRESULT Orientation([in] Windows.Graphics.Printing.PrintOrientation value);
                [propget] HRESULT Orientation([out] [retval] Windows.Graphics.Printing.PrintOrientation* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintPageRange)]
            [uuid(F8A06C54-6E7C-51C5-57FD-0660C2D71513)]
            interface IPrintPageRange : IInspectable
            {
                [propget] HRESULT FirstPageNumber([out] [retval] INT32* value);
                [propget] HRESULT LastPageNumber([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintPageRange)]
            [uuid(408FD45F-E047-5F85-7129-FB085A4FAD14)]
            interface IPrintPageRangeFactory : IInspectable
            {
                HRESULT Create([in] INT32 firstPage, [in] INT32 lastPage, [out] [retval] Windows.Graphics.Printing.PrintPageRange** result);
                HRESULT CreateWithSinglePage([in] INT32 page, [out] [retval] Windows.Graphics.Printing.PrintPageRange** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintPageRangeOptions)]
            [uuid(CE6DB728-1357-46B2-A923-79F995F448FC)]
            interface IPrintPageRangeOptions : IInspectable
            {
                [propput] HRESULT AllowAllPages([in] boolean value);
                [propget] HRESULT AllowAllPages([out] [retval] boolean* value);
                [propput] HRESULT AllowCurrentPage([in] boolean value);
                [propget] HRESULT AllowCurrentPage([out] [retval] boolean* value);
                [propput] HRESULT AllowCustomSetOfPages([in] boolean value);
                [propget] HRESULT AllowCustomSetOfPages([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTask)]
            [uuid(61D80247-6CF6-4FAD-84E2-A5E82E2D4CEB)]
            interface IPrintTask : IInspectable
            {
                [propget] HRESULT Properties([out] [retval] Windows.ApplicationModel.DataTransfer.DataPackagePropertySet** value);
                [propget] HRESULT Source([out] [retval] Windows.Graphics.Printing.IPrintDocumentSource** value);
                [propget] HRESULT Options([out] [retval] Windows.Graphics.Printing.PrintTaskOptions** value);
                [eventadd] HRESULT Previewing([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, IInspectable*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT Previewing([in] EventRegistrationToken eventCookie);
                [eventadd] HRESULT Submitting([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, IInspectable*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT Submitting([in] EventRegistrationToken eventCookie);
                [eventadd] HRESULT Progressing([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, Windows.Graphics.Printing.PrintTaskProgressingEventArgs*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT Progressing([in] EventRegistrationToken eventCookie);
                [eventadd] HRESULT Completed([in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Printing.PrintTask*, Windows.Graphics.Printing.PrintTaskCompletedEventArgs*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT Completed([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTask)]
            [uuid(36234877-3E53-4D9D-8F5E-316AC8DEDAE1)]
            interface IPrintTask2 : IInspectable
            {
                [propput] HRESULT IsPreviewEnabled([in] boolean value);
                [propget] HRESULT IsPreviewEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskCompletedEventArgs)]
            [uuid(5BCD34AF-24E9-4C10-8D07-14C346BA3FCE)]
            interface IPrintTaskCompletedEventArgs : IInspectable
            {
                [propget] HRESULT Completion([out] [retval] Windows.Graphics.Printing.PrintTaskCompletion* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskOptions)]
            [uuid(5A0A66BB-D289-41BB-96DD-57E28338AE3F)]
            interface IPrintTaskOptions : IInspectable
            {
                [propput] HRESULT Bordering([in] Windows.Graphics.Printing.PrintBordering value);
                [propget] HRESULT Bordering([out] [retval] Windows.Graphics.Printing.PrintBordering* value);
                HRESULT GetPagePrintTicket([in] Windows.Graphics.Printing.PrintPageInfo* printPageInfo, [out] [retval] Windows.Storage.Streams.IRandomAccessStream** printTicket);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskOptions)]
            [uuid(EB9B1606-9A36-4B59-8617-B217849262E1)]
            interface IPrintTaskOptions2 : IInspectable
            {
                [propget] HRESULT PageRangeOptions([out] [retval] Windows.Graphics.Printing.PrintPageRangeOptions** value);
                [propget] HRESULT CustomPageRanges([out] [retval] Windows.Foundation.Collections.IVector<Windows.Graphics.Printing.PrintPageRange*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(1BDBB474-4ED1-41EB-BE3C-72D18ED67337)]
            interface IPrintTaskOptionsCore : IInspectable
            {
                HRESULT GetPageDescription([in] UINT32 jobPageNumber, [out] [retval] Windows.Graphics.Printing.PrintPageDescription* description);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(C1B71832-9E93-4E55-814B-3326A59EFCE1)]
            interface IPrintTaskOptionsCoreProperties : IInspectable
            {
                [propput] HRESULT MediaSize([in] Windows.Graphics.Printing.PrintMediaSize value);
                [propget] HRESULT MediaSize([out] [retval] Windows.Graphics.Printing.PrintMediaSize* value);
                [propput] HRESULT MediaType([in] Windows.Graphics.Printing.PrintMediaType value);
                [propget] HRESULT MediaType([out] [retval] Windows.Graphics.Printing.PrintMediaType* value);
                [propput] HRESULT Orientation([in] Windows.Graphics.Printing.PrintOrientation value);
                [propget] HRESULT Orientation([out] [retval] Windows.Graphics.Printing.PrintOrientation* value);
                [propput] HRESULT PrintQuality([in] Windows.Graphics.Printing.PrintQuality value);
                [propget] HRESULT PrintQuality([out] [retval] Windows.Graphics.Printing.PrintQuality* value);
                [propput] HRESULT ColorMode([in] Windows.Graphics.Printing.PrintColorMode value);
                [propget] HRESULT ColorMode([out] [retval] Windows.Graphics.Printing.PrintColorMode* value);
                [propput] HRESULT Duplex([in] Windows.Graphics.Printing.PrintDuplex value);
                [propget] HRESULT Duplex([out] [retval] Windows.Graphics.Printing.PrintDuplex* value);
                [propput] HRESULT Collation([in] Windows.Graphics.Printing.PrintCollation value);
                [propget] HRESULT Collation([out] [retval] Windows.Graphics.Printing.PrintCollation* value);
                [propput] HRESULT Staple([in] Windows.Graphics.Printing.PrintStaple value);
                [propget] HRESULT Staple([out] [retval] Windows.Graphics.Printing.PrintStaple* value);
                [propput] HRESULT HolePunch([in] Windows.Graphics.Printing.PrintHolePunch value);
                [propget] HRESULT HolePunch([out] [retval] Windows.Graphics.Printing.PrintHolePunch* value);
                [propput] HRESULT Binding([in] Windows.Graphics.Printing.PrintBinding value);
                [propget] HRESULT Binding([out] [retval] Windows.Graphics.Printing.PrintBinding* value);
                [propget] HRESULT MinCopies([out] [retval] UINT32* value);
                [propget] HRESULT MaxCopies([out] [retval] UINT32* value);
                [propput] HRESULT NumberOfCopies([in] UINT32 value);
                [propget] HRESULT NumberOfCopies([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(62E69E23-9A1E-4336-B74F-3CC7F4CFF709)]
            interface IPrintTaskOptionsCoreUIConfiguration : IInspectable
            {
                [propget] HRESULT DisplayedOptions([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskProgressingEventArgs)]
            [uuid(810CD3CB-B410-4282-A073-5AC378234174)]
            interface IPrintTaskProgressingEventArgs : IInspectable
            {
                [propget] HRESULT DocumentPageCount([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskRequest)]
            [uuid(6FF61E2E-2722-4240-A67C-F364849A17F3)]
            interface IPrintTaskRequest : IInspectable
            {
                [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
                HRESULT CreatePrintTask([in] HSTRING title, [in] Windows.Graphics.Printing.PrintTaskSourceRequestedHandler* handler, [out] [retval] Windows.Graphics.Printing.PrintTask** task);
                HRESULT GetDeferral([out] [retval] Windows.Graphics.Printing.PrintTaskRequestedDeferral** deferral);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskRequestedDeferral)]
            [uuid(CFEFB3F0-CE3E-42C7-9496-64800C622C44)]
            interface IPrintTaskRequestedDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskRequestedEventArgs)]
            [uuid(D0AFF924-A31B-454C-A7B6-5D0CC522FC16)]
            interface IPrintTaskRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.Graphics.Printing.PrintTaskRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskSourceRequestedArgs)]
            [uuid(F9F067BE-F456-41F0-9C98-5CE73E851410)]
            interface IPrintTaskSourceRequestedArgs : IInspectable
            {
                [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
                HRESULT SetSource([in] Windows.Graphics.Printing.IPrintDocumentSource* source);
                HRESULT GetDeferral([out] [retval] Windows.Graphics.Printing.PrintTaskSourceRequestedDeferral** deferral);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTaskSourceRequestedDeferral)]
            [uuid(4A1560D1-6992-4D9D-8555-4CA4563FB166)]
            interface IPrintTaskSourceRequestedDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.PrintTask)]
            [uuid(295D70C0-C2CB-4B7D-B0EA-93095091A220)]
            interface IPrintTaskTargetDeviceSupport : IInspectable
            {
                [propput] HRESULT IsPrinterTargetEnabled([in] boolean value);
                [propget] HRESULT IsPrinterTargetEnabled([out] [retval] boolean* value);
                [propput] HRESULT Is3DManufacturingTargetEnabled([in] boolean value);
                [propget] HRESULT Is3DManufacturingTargetEnabled([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Graphics.Printing.StandardPrintTaskOptions)]
            [uuid(B4483D26-0DD0-4CD4-BAFF-930FC7D6A574)]
            interface IStandardPrintTaskOptionsStatic : IInspectable
            {
                [propget] HRESULT MediaSize([out] [retval] HSTRING* value);
                [propget] HRESULT MediaType([out] [retval] HSTRING* value);
                [propget] HRESULT Orientation([out] [retval] HSTRING* value);
                [propget] HRESULT PrintQuality([out] [retval] HSTRING* value);
                [propget] HRESULT ColorMode([out] [retval] HSTRING* value);
                [propget] HRESULT Duplex([out] [retval] HSTRING* value);
                [propget] HRESULT Collation([out] [retval] HSTRING* value);
                [propget] HRESULT Staple([out] [retval] HSTRING* value);
                [propget] HRESULT HolePunch([out] [retval] HSTRING* value);
                [propget] HRESULT Binding([out] [retval] HSTRING* value);
                [propget] HRESULT Copies([out] [retval] HSTRING* value);
                [propget] HRESULT NUp([out] [retval] HSTRING* value);
                [propget] HRESULT InputBin([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Graphics.Printing.StandardPrintTaskOptions)]
            [uuid(3BE38BF4-7A44-4269-9A52-81261E289EE9)]
            interface IStandardPrintTaskOptionsStatic2 : IInspectable
            {
                [propget] HRESULT Bordering([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Graphics.Printing.StandardPrintTaskOptions)]
            [uuid(BBF68E86-3858-41B3-A799-55DD9888D475)]
            interface IStandardPrintTaskOptionsStatic3 : IInspectable
            {
                [propget] HRESULT CustomPageRanges([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Graphics.Printing.IPrintManagerStatic, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Graphics.Printing.IPrintManagerStatic2, Windows.Foundation.UniversalApiContract, 3.0)]
            runtimeclass PrintManager
            {
                [default] interface Windows.Graphics.Printing.IPrintManager;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 3.0)]
            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PrintPageInfo
            {
                [default] interface Windows.Graphics.Printing.IPrintPageInfo;
            }

            [activatable(Windows.Graphics.Printing.IPrintPageRangeFactory, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PrintPageRange
            {
                [default] interface Windows.Graphics.Printing.IPrintPageRange;
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintPageRangeOptions
            {
                [default] interface Windows.Graphics.Printing.IPrintPageRangeOptions;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTask
            {
                [default] interface Windows.Graphics.Printing.IPrintTask;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Graphics.Printing.IPrintTaskTargetDeviceSupport;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Graphics.Printing.IPrintTask2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskCompletedEventArgs
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskCompletedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskOptions
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskOptionsCore;
                interface Windows.Graphics.Printing.IPrintTaskOptionsCoreProperties;
                interface Windows.Graphics.Printing.IPrintTaskOptionsCoreUIConfiguration;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Graphics.Printing.IPrintTaskOptions;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Graphics.Printing.IPrintTaskOptions2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskProgressingEventArgs
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskProgressingEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskRequest
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskRequestedDeferral
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskRequestedDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskRequestedEventArgs
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskSourceRequestedArgs
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskSourceRequestedArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PrintTaskSourceRequestedDeferral
            {
                [default] interface Windows.Graphics.Printing.IPrintTaskSourceRequestedDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Graphics.Printing.IStandardPrintTaskOptionsStatic, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Graphics.Printing.IStandardPrintTaskOptionsStatic2, Windows.Foundation.UniversalApiContract, 3.0)]
            [static(Windows.Graphics.Printing.IStandardPrintTaskOptionsStatic3, Windows.Foundation.UniversalApiContract, 6.0)]
            runtimeclass StandardPrintTaskOptions
            {
            }
        }
    }
}
