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

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            runtimeclass ValueSet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IClosable;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            runtimeclass PrintTaskOptions;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Printing
        {
            namespace PrintTicket
            {
                runtimeclass WorkflowPrintTicket;
            }
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IInputStream;

            interface IOutputStream;

            interface IRandomAccessStreamWithContentType;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Printers
        {
            apicontract PrintersContract;

            typedef enum IppAttributeErrorReason IppAttributeErrorReason;

            typedef enum IppAttributeValueKind IppAttributeValueKind;

            typedef enum IppPrintDeviceInstallationStatus IppPrintDeviceInstallationStatus;

            typedef enum IppPrintDeviceKind IppPrintDeviceKind;

            typedef enum IppResolutionUnit IppResolutionUnit;

            typedef enum PageConfigurationSource PageConfigurationSource;

            typedef enum ReplaceDevicePropertiesStatus ReplaceDevicePropertiesStatus;

            typedef enum VirtualPrinterInstallationStatus VirtualPrinterInstallationStatus;

            typedef enum VirtualPrinterPreferredInputFormat VirtualPrinterPreferredInputFormat;

            interface IIppAttributeError;

            interface IIppAttributeValue;

            interface IIppAttributeValueStatics;

            interface IIppIntegerRange;

            interface IIppIntegerRangeFactory;

            interface IIppPrintDevice;

            interface IIppPrintDevice2;

            interface IIppPrintDevice3;

            interface IIppPrintDevice4;

            interface IIppPrintDevice5;

            interface IIppPrintDeviceInstallationResult;

            interface IIppPrintDeviceManagerStatics;

            interface IIppPrintDeviceStatics;

            interface IIppResolution;

            interface IIppResolutionFactory;

            interface IIppSetAttributesResult;

            interface IIppTextWithLanguage;

            interface IIppTextWithLanguageFactory;

            interface IPageConfigurationSettings;

            interface IPdlPassthroughProvider;

            interface IPdlPassthroughTarget;

            interface IPrint3DDevice;

            interface IPrint3DDeviceStatics;

            interface IPrintSchema;

            interface IReplaceDevicePropertiesResult;

            interface IVirtualPrinterInstallationParameters;

            interface IVirtualPrinterInstallationResult;

            interface IVirtualPrinterManagerStatics;

            interface IVirtualPrinterSupportedFormat;

            interface IVirtualPrinterSupportedFormatFactory;

            runtimeclass IppAttributeError;

            runtimeclass IppAttributeValue;

            runtimeclass IppIntegerRange;

            runtimeclass IppPrintDevice;

            runtimeclass IppPrintDeviceInstallationResult;

            runtimeclass IppPrintDeviceManager;

            runtimeclass IppResolution;

            runtimeclass IppSetAttributesResult;

            runtimeclass IppTextWithLanguage;

            runtimeclass PageConfigurationSettings;

            runtimeclass PdlPassthroughProvider;

            runtimeclass PdlPassthroughTarget;

            runtimeclass Print3DDevice;

            runtimeclass PrintSchema;

            runtimeclass ReplaceDevicePropertiesResult;

            runtimeclass VirtualPrinterInstallationParameters;

            runtimeclass VirtualPrinterInstallationResult;

            runtimeclass VirtualPrinterManager;

            runtimeclass VirtualPrinterSupportedFormat;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Devices
    {
        namespace Printers
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppIntegerRange*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppResolution*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppTextWithLanguage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.VirtualPrinterSupportedFormat*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeError*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Printers.IppIntegerRange*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Printers.IppResolution*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Printers.IppTextWithLanguage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Printers.VirtualPrinterSupportedFormat*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeError*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeError*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeError*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.IppAttributeValue*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.IppIntegerRange*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.IppResolution*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.IppTextWithLanguage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.VirtualPrinterSupportedFormat*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppIntegerRange*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppResolution*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppTextWithLanguage*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Printers.VirtualPrinterSupportedFormat*>;

                interface Windows.Foundation.Collections.IVector<Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.IppPrintDeviceInstallationResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.Print3DDevice*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.VirtualPrinterInstallationResult*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace Printers
        {
            [contractversion(1.0)]
            apicontract PrintersContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            enum IppAttributeErrorReason
            {
                RequestEntityTooLarge       = 0,
                AttributeNotSupported       = 1,
                AttributeValuesNotSupported = 2,
                AttributeNotSettable        = 3,
                ConflictingAttributes       = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            enum IppAttributeValueKind
            {
                Unsupported         = 0,
                Unknown             = 1,
                NoValue             = 2,
                Integer             = 3,
                Boolean             = 4,
                Enum                = 5,
                OctetString         = 6,
                DateTime            = 7,
                Resolution          = 8,
                RangeOfInteger      = 9,
                Collection          = 10,
                TextWithLanguage    = 11,
                NameWithLanguage    = 12,
                TextWithoutLanguage = 13,
                NameWithoutLanguage = 14,
                Keyword             = 15,
                Uri                 = 16,
                UriSchema           = 17,
                Charset             = 18,
                NaturalLanguage     = 19,
                MimeMediaType       = 20
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            enum IppPrintDeviceInstallationStatus
            {
                InstallationSucceeded   = 0,
                PrinterAlreadyInstalled = 1,
                CommunicationError      = 2,
                OtherFailure            = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            enum IppPrintDeviceKind
            {
                Printer        = 0,
                FaxOut         = 1,
                VirtualPrinter = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            enum IppResolutionUnit
            {
                DotsPerInch       = 0,
                DotsPerCentimeter = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            enum PageConfigurationSource
            {
                PrintJobConfiguration = 0,
                PdlContent            = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            enum ReplaceDevicePropertiesStatus
            {
                Succeeded    = 0,
                AccessDenied = 1,
                OtherFailure = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            enum VirtualPrinterInstallationStatus
            {
                InstallationSucceeded           = 0,
                PrinterAlreadyInstalled         = 1,
                PrinterInstallationAccessDenied = 2,
                PrinterInstallationFailed       = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            enum VirtualPrinterPreferredInputFormat
            {
                OpenXps    = 0,
                PostScript = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppAttributeError)]
            [uuid(750FEDA1-9EEF-5C39-93E4-46149BBCEF27)]
            interface IIppAttributeError : IInspectable
            {
                [propget] HRESULT Reason([out] [retval] Windows.Devices.Printers.IppAttributeErrorReason* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                HRESULT GetUnsupportedValues([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Printers.IppAttributeValue*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppAttributeValue)]
            [uuid(99407FED-E2BB-59A3-988B-28A974052A26)]
            interface IIppAttributeValue : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.Devices.Printers.IppAttributeValueKind* value);
                HRESULT GetIntegerArray([out] [retval] Windows.Foundation.Collections.IVector<INT32>** result);
                HRESULT GetBooleanArray([out] [retval] Windows.Foundation.Collections.IVector<boolean>** result);
                HRESULT GetEnumArray([out] [retval] Windows.Foundation.Collections.IVector<INT32>** result);
                HRESULT GetOctetStringArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Storage.Streams.IBuffer*>** result);
                HRESULT GetDateTimeArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.DateTime>** result);
                HRESULT GetResolutionArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppResolution*>** result);
                HRESULT GetRangeOfIntegerArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppIntegerRange*>** result);
                HRESULT GetCollectionArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>** result);
                HRESULT GetTextWithLanguageArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppTextWithLanguage*>** result);
                HRESULT GetNameWithLanguageArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Printers.IppTextWithLanguage*>** result);
                HRESULT GetTextWithoutLanguageArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetNameWithoutLanguageArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetKeywordArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetUriArray([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** result);
                HRESULT GetUriSchemaArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetCharsetArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetNaturalLanguageArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                HRESULT GetMimeMediaTypeArray([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppAttributeValue)]
            [uuid(10D43942-DD94-5998-B235-AFAFB6FA7935)]
            interface IIppAttributeValueStatics : IInspectable
            {
                HRESULT CreateUnsupported([out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateUnknown([out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNoValue([out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateInteger([in] INT32 value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateIntegerArray([in] Windows.Foundation.Collections.IIterable<INT32>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateBoolean([in] boolean value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateBooleanArray([in] Windows.Foundation.Collections.IIterable<boolean>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateEnum([in] INT32 value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateEnumArray([in] Windows.Foundation.Collections.IIterable<INT32>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateOctetString([in] Windows.Storage.Streams.IBuffer* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateOctetStringArray([in] Windows.Foundation.Collections.IIterable<Windows.Storage.Streams.IBuffer*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateDateTime([in] Windows.Foundation.DateTime value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateDateTimeArray([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.DateTime>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateResolution([in] Windows.Devices.Printers.IppResolution* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateResolutionArray([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppResolution*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateRangeOfInteger([in] Windows.Devices.Printers.IppIntegerRange* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateRangeOfIntegerArray([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppIntegerRange*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateCollection([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* memberAttributes, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateCollectionArray([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>*>* memberAttributesArray, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateTextWithLanguage([in] Windows.Devices.Printers.IppTextWithLanguage* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateTextWithLanguageArray([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppTextWithLanguage*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNameWithLanguage([in] Windows.Devices.Printers.IppTextWithLanguage* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNameWithLanguageArray([in] Windows.Foundation.Collections.IIterable<Windows.Devices.Printers.IppTextWithLanguage*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateTextWithoutLanguage([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateTextWithoutLanguageArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNameWithoutLanguage([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNameWithoutLanguageArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateKeyword([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateKeywordArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateUri([in] Windows.Foundation.Uri* value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateUriArray([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateUriSchema([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateUriSchemaArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateCharset([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateCharsetArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNaturalLanguage([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateNaturalLanguageArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateMimeMedia([in] HSTRING value, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
                HRESULT CreateMimeMediaArray([in] Windows.Foundation.Collections.IIterable<HSTRING>* values, [out] [retval] Windows.Devices.Printers.IppAttributeValue** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppIntegerRange)]
            [uuid(92907346-C3EA-5ED6-BDB1-3752C62C6F7F)]
            interface IIppIntegerRange : IInspectable
            {
                [propget] HRESULT Start([out] [retval] INT32* value);
                [propget] HRESULT End([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppIntegerRange)]
            [uuid(75D4ECAE-F87E-54AD-B5D0-465204DB7553)]
            interface IIppIntegerRangeFactory : IInspectable
            {
                HRESULT CreateInstance([in] INT32 start, [in] INT32 end, [out] [retval] Windows.Devices.Printers.IppIntegerRange** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [uuid(D748AC56-76F3-5DC6-AFD4-C2A8686B9359)]
            interface IIppPrintDevice : IInspectable
            {
                [propget] HRESULT PrinterName([out] [retval] HSTRING* value);
                [propget] HRESULT PrinterUri([out] [retval] Windows.Foundation.Uri** value);
                HRESULT GetPrinterAttributesAsBuffer([in] Windows.Foundation.Collections.IIterable<HSTRING>* attributeNames, [out] [retval] Windows.Storage.Streams.IBuffer** result);
                HRESULT GetPrinterAttributes([in] Windows.Foundation.Collections.IIterable<HSTRING>* attributeNames, [out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.Devices.Printers.IppAttributeValue*>** result);
                HRESULT SetPrinterAttributesFromBuffer([in] Windows.Storage.Streams.IBuffer* printerAttributesBuffer, [out] [retval] Windows.Devices.Printers.IppSetAttributesResult** result);
                HRESULT SetPrinterAttributes([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Devices.Printers.IppAttributeValue*>*>* printerAttributes, [out] [retval] Windows.Devices.Printers.IppSetAttributesResult** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [uuid(F7C844C9-9D21-5C63-AC20-3676915BE2D7)]
            interface IIppPrintDevice2 : IInspectable
            {
                HRESULT GetMaxSupportedPdfSize([out] [retval] UINT64* result);
                HRESULT GetMaxSupportedPdfVersion([out] [retval] HSTRING* result);
                HRESULT IsPdlPassthroughSupported([in] HSTRING pdlContentType, [out] [retval] boolean* result);
                HRESULT GetPdlPassthroughProvider([out] [retval] Windows.Devices.Printers.PdlPassthroughProvider** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 17.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [uuid(B6258F6D-A46D-5E37-80CE-5F69D5544712)]
            interface IIppPrintDevice3 : IInspectable
            {
                [propget] HRESULT IsIppFaxOutPrinter([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [uuid(8C48247E-E869-59FB-BC6D-DAEA0614F93E)]
            interface IIppPrintDevice4 : IInspectable
            {
                [propget] HRESULT DeviceKind([out] [retval] Windows.Devices.Printers.IppPrintDeviceKind* value);
                [propget] HRESULT CanModifyUserDefaultPrintTicket([out] [retval] boolean* value);
                [propget] HRESULT UserDefaultPrintTicket([out] [retval] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket** value);
                [propput] HRESULT UserDefaultPrintTicket([in] Windows.Graphics.Printing.PrintTicket.WorkflowPrintTicket* value);
                HRESULT RefreshPrintDeviceCapabilities();
                HRESULT GetMaxSupportedPdlVersion([in] HSTRING pdlContentType, [out] [retval] HSTRING* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [experimental]
            [uuid(EA927FCA-E073-5DB4-9AEE-13DF714E853A)]
            interface IIppPrintDevice5 : IInspectable
            {
                HRESULT GetDeviceProperties([out] [retval] Windows.Foundation.Collections.ValueSet** result);
                HRESULT ReplaceDeviceProperties([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable*>*>* deviceProperties, [out] [retval] Windows.Devices.Printers.ReplaceDevicePropertiesResult** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDeviceInstallationResult)]
            [experimental]
            [uuid(FB102FCC-87BE-57FF-A086-92272148A256)]
            interface IIppPrintDeviceInstallationResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.Printers.IppPrintDeviceInstallationStatus* value);
                [propget] HRESULT InstalledPrinterName([out] [retval] HSTRING* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDeviceManager)]
            [experimental]
            [uuid(8F711A45-C1B9-51BB-80C8-38969C81F800)]
            interface IIppPrintDeviceManagerStatics : IInspectable
            {
                HRESULT CanInstallIppPrintDevice([out] [retval] boolean* result);
                HRESULT InstallIppPrintDeviceAsync([in] Windows.Foundation.Uri* printerUri, [in] HSTRING printerName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.IppPrintDeviceInstallationResult*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Devices.Printers.IppPrintDevice)]
            [uuid(7DC19F08-7F20-52AB-94A7-894B83B2A17E)]
            interface IIppPrintDeviceStatics : IInspectable
            {
                HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                HRESULT FromId([in] HSTRING deviceId, [out] [retval] Windows.Devices.Printers.IppPrintDevice** result);
                HRESULT FromPrinterName([in] HSTRING printerName, [out] [retval] Windows.Devices.Printers.IppPrintDevice** result);
                HRESULT IsIppPrinter([in] HSTRING printerName, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppResolution)]
            [uuid(CB493F86-6BF3-56F5-86CE-263D08AEAD63)]
            interface IIppResolution : IInspectable
            {
                [propget] HRESULT Width([out] [retval] INT32* value);
                [propget] HRESULT Height([out] [retval] INT32* value);
                [propget] HRESULT Unit([out] [retval] Windows.Devices.Printers.IppResolutionUnit* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppResolution)]
            [uuid(E481C2AE-251A-5326-B173-95543ED99A35)]
            interface IIppResolutionFactory : IInspectable
            {
                HRESULT CreateInstance([in] INT32 width, [in] INT32 height, [in] Windows.Devices.Printers.IppResolutionUnit unit, [out] [retval] Windows.Devices.Printers.IppResolution** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppSetAttributesResult)]
            [uuid(7D1C7F55-AA9D-58A3-90E9-17BDC5281F07)]
            interface IIppSetAttributesResult : IInspectable
            {
                [propget] HRESULT Succeeded([out] [retval] boolean* value);
                [propget] HRESULT AttributeErrors([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.Devices.Printers.IppAttributeError*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppTextWithLanguage)]
            [uuid(326447A6-5149-5936-90E8-0C736036BF77)]
            interface IIppTextWithLanguage : IInspectable
            {
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propget] HRESULT Value([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Devices.Printers.IppTextWithLanguage)]
            [uuid(CA4A1E8D-2968-5775-997C-8A46F1A574ED)]
            interface IIppTextWithLanguageFactory : IInspectable
            {
                HRESULT CreateInstance([in] HSTRING language, [in] HSTRING text, [out] [retval] Windows.Devices.Printers.IppTextWithLanguage** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Devices.Printers.PageConfigurationSettings)]
            [uuid(B6FC1E02-5331-54FF-95A0-1FCB76BB97A9)]
            interface IPageConfigurationSettings : IInspectable
            {
                [propget] HRESULT OrientationSource([out] [retval] Windows.Devices.Printers.PageConfigurationSource* value);
                [propput] HRESULT OrientationSource([in] Windows.Devices.Printers.PageConfigurationSource value);
                [propget] HRESULT SizeSource([out] [retval] Windows.Devices.Printers.PageConfigurationSource* value);
                [propput] HRESULT SizeSource([in] Windows.Devices.Printers.PageConfigurationSource value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Devices.Printers.PdlPassthroughProvider)]
            [uuid(23C71DD2-6117-553F-9378-180AF5849A49)]
            interface IPdlPassthroughProvider : IInspectable
            {
                [propget] HRESULT SupportedPdlContentTypes([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                HRESULT StartPrintJobWithTaskOptions([in] HSTRING jobName, [in] HSTRING pdlContentType, [in] Windows.Graphics.Printing.PrintTaskOptions* taskOptions, [in] Windows.Devices.Printers.PageConfigurationSettings* pageConfigurationSettings, [out] [retval] Windows.Devices.Printers.PdlPassthroughTarget** result);
                HRESULT StartPrintJobWithPrintTicket([in] HSTRING jobName, [in] HSTRING pdlContentType, [in] Windows.Storage.Streams.IInputStream* printTicket, [in] Windows.Devices.Printers.PageConfigurationSettings* pageConfigurationSettings, [out] [retval] Windows.Devices.Printers.PdlPassthroughTarget** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Devices.Printers.PdlPassthroughTarget)]
            [uuid(9840BE79-67F8-5385-A5B9-E8C96E0FCA76)]
            interface IPdlPassthroughTarget : IInspectable
            {
                [propget] HRESULT PrintJobId([out] [retval] INT32* value);
                HRESULT GetOutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** result);
                HRESULT Submit();
            }

            [contract(Windows.Devices.Printers.PrintersContract, 1.0)]
            [exclusiveto(Windows.Devices.Printers.Print3DDevice)]
            [uuid(041C3D19-9713-42A2-9813-7DC3337428D3)]
            interface IPrint3DDevice : IInspectable
            {
                [propget] HRESULT PrintSchema([out] [retval] Windows.Devices.Printers.PrintSchema** value);
            }

            [contract(Windows.Devices.Printers.PrintersContract, 1.0)]
            [exclusiveto(Windows.Devices.Printers.Print3DDevice)]
            [uuid(FDE3620A-67CD-41B7-A344-5150A1FD75B5)]
            interface IPrint3DDeviceStatics : IInspectable
            {
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.Print3DDevice*>** operation);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
            }

            [contract(Windows.Devices.Printers.PrintersContract, 1.0)]
            [exclusiveto(Windows.Devices.Printers.PrintSchema)]
            [uuid(C2B98316-26B8-4BFB-8138-9F962C22A35B)]
            interface IPrintSchema : IInspectable
            {
                HRESULT GetDefaultPrintTicketAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType*>** operation);
                HRESULT GetCapabilitiesAsync([in] Windows.Storage.Streams.IRandomAccessStreamWithContentType* constrainTicket, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType*>** operation);
                HRESULT MergeAndValidateWithDefaultPrintTicketAsync([in] Windows.Storage.Streams.IRandomAccessStreamWithContentType* deltaTicket, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamWithContentType*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.ReplaceDevicePropertiesResult)]
            [experimental]
            [uuid(12FECA4B-D973-57E1-826B-F75B9518A9F1)]
            interface IReplaceDevicePropertiesResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.Printers.ReplaceDevicePropertiesStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.VirtualPrinterInstallationParameters)]
            [experimental]
            [uuid(BBC159B3-12F3-584C-8D26-B22C0DC83241)]
            interface IVirtualPrinterInstallationParameters : IInspectable
            {
                [propget] HRESULT PrinterName([out] [retval] HSTRING* value);
                [propput] HRESULT PrinterName([in] HSTRING value);
                [propget] HRESULT OutputFileExtensions([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT SupportedInputFormats([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Printers.VirtualPrinterSupportedFormat*>** value);
                [propget] HRESULT PrintDeviceCapabilitiesPackageRelativeFilePath([out] [retval] HSTRING* value);
                [propput] HRESULT PrintDeviceCapabilitiesPackageRelativeFilePath([in] HSTRING value);
                [propget] HRESULT PrintDeviceResourcesPackageRelativeFilePath([out] [retval] HSTRING* value);
                [propput] HRESULT PrintDeviceResourcesPackageRelativeFilePath([in] HSTRING value);
                [propget] HRESULT PreferredInputFormat([out] [retval] Windows.Devices.Printers.VirtualPrinterPreferredInputFormat* value);
                [propput] HRESULT PreferredInputFormat([in] Windows.Devices.Printers.VirtualPrinterPreferredInputFormat value);
                [propget] HRESULT PrinterUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT PrinterUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT EntryPoint([out] [retval] HSTRING* value);
                [propput] HRESULT EntryPoint([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.VirtualPrinterInstallationResult)]
            [experimental]
            [uuid(82DEFD78-1601-5657-85DF-75EB691604BD)]
            interface IVirtualPrinterInstallationResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.Printers.VirtualPrinterInstallationStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.VirtualPrinterManager)]
            [experimental]
            [uuid(141084B6-6702-5B5F-83DA-C75891657554)]
            interface IVirtualPrinterManagerStatics : IInspectable
            {
                [overload("InstallVirtualPrinterAsync")] HRESULT InstallVirtualPrinterAsync([in] Windows.Devices.Printers.VirtualPrinterInstallationParameters* parameters, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.VirtualPrinterInstallationResult*>** operation);
                [overload("InstallVirtualPrinterAsync")] HRESULT InstallVirtualPrinterAsync2([in] Windows.Devices.Printers.VirtualPrinterInstallationParameters* parameters, [in] HSTRING appPackageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.VirtualPrinterInstallationResult*>** operation);
                [overload("InstallVirtualPrinterForAllUsersAsync")] HRESULT InstallVirtualPrinterForAllUsersAsync([in] Windows.Devices.Printers.VirtualPrinterInstallationParameters* parameters, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.VirtualPrinterInstallationResult*>** operation);
                [overload("InstallVirtualPrinterForAllUsersAsync")] HRESULT InstallVirtualPrinterForAllUsersAsync2([in] Windows.Devices.Printers.VirtualPrinterInstallationParameters* parameters, [in] HSTRING appPackageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Printers.VirtualPrinterInstallationResult*>** operation);
                [overload("FindAllVirtualPrinters")] HRESULT FindAllVirtualPrinters([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** result);
                [overload("FindAllVirtualPrinters")] HRESULT FindAllVirtualPrinters2([in] HSTRING appPackageFamilyName, [out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** result);
                HRESULT RemoveVirtualPrinterAsync([in] HSTRING printerName, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RemoveVirtualPrinterForAllUsersAsync([in] HSTRING printerName, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.VirtualPrinterSupportedFormat)]
            [experimental]
            [uuid(3801FA17-22B5-5DAB-AD38-39E47D6071AF)]
            interface IVirtualPrinterSupportedFormat : IInspectable
            {
                [propget] HRESULT ContentType([out] [retval] HSTRING* value);
                [propput] HRESULT ContentType([in] HSTRING value);
                [propget] HRESULT MaxSupportedVersion([out] [retval] HSTRING* value);
                [propput] HRESULT MaxSupportedVersion([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Devices.Printers.VirtualPrinterSupportedFormat)]
            [experimental]
            [uuid(6DAAED44-97A6-57F4-BE8B-9DBABC587F2D)]
            interface IVirtualPrinterSupportedFormatFactory : IInspectable
            {
                HRESULT CreateInstance([in] HSTRING contentType, [in] HSTRING maxSupportedVersion, [out] [retval] Windows.Devices.Printers.VirtualPrinterSupportedFormat** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            runtimeclass IppAttributeError
            {
                [default] interface Windows.Devices.Printers.IIppAttributeError;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Printers.IIppAttributeValueStatics, Windows.Foundation.UniversalApiContract, 13.0)]
            [threading(both)]
            runtimeclass IppAttributeValue
            {
                [default] interface Windows.Devices.Printers.IIppAttributeValue;
            }

            [activatable(Windows.Devices.Printers.IIppIntegerRangeFactory, Windows.Foundation.UniversalApiContract, 13.0)]
            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass IppIntegerRange
            {
                [default] interface Windows.Devices.Printers.IIppIntegerRange;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Printers.IIppPrintDeviceStatics, Windows.Foundation.UniversalApiContract, 15.0)]
            [threading(both)]
            runtimeclass IppPrintDevice
            {
                [default] interface Windows.Devices.Printers.IIppPrintDevice;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Devices.Printers.IIppPrintDevice2;
                [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Devices.Printers.IIppPrintDevice3;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Devices.Printers.IIppPrintDevice4;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] [experimental] interface Windows.Devices.Printers.IIppPrintDevice5;
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            runtimeclass IppPrintDeviceInstallationResult
            {
                [default] [experimental] interface Windows.Devices.Printers.IIppPrintDeviceInstallationResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Printers.IIppPrintDeviceManagerStatics, Windows.Foundation.UniversalApiContract, 19.0)]
            [threading(both)]
            runtimeclass IppPrintDeviceManager
            {
            }

            [activatable(Windows.Devices.Printers.IIppResolutionFactory, Windows.Foundation.UniversalApiContract, 13.0)]
            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass IppResolution
            {
                [default] interface Windows.Devices.Printers.IIppResolution;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            runtimeclass IppSetAttributesResult
            {
                [default] interface Windows.Devices.Printers.IIppSetAttributesResult;
            }

            [activatable(Windows.Devices.Printers.IIppTextWithLanguageFactory, Windows.Foundation.UniversalApiContract, 13.0)]
            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass IppTextWithLanguage
            {
                [default] interface Windows.Devices.Printers.IIppTextWithLanguage;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 15.0)]
            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PageConfigurationSettings
            {
                [default] interface Windows.Devices.Printers.IPageConfigurationSettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            runtimeclass PdlPassthroughProvider
            {
                [default] interface Windows.Devices.Printers.IPdlPassthroughProvider;
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [marshaling_behavior(agile)]
            runtimeclass PdlPassthroughTarget
            {
                [default] interface Windows.Devices.Printers.IPdlPassthroughTarget;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Devices.Printers.PrintersContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Printers.IPrint3DDeviceStatics, Windows.Devices.Printers.PrintersContract, 1.0)]
            [threading(both)]
            runtimeclass Print3DDevice
            {
                [default] interface Windows.Devices.Printers.IPrint3DDevice;
            }

            [contract(Windows.Devices.Printers.PrintersContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PrintSchema
            {
                [default] interface Windows.Devices.Printers.IPrintSchema;
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            runtimeclass ReplaceDevicePropertiesResult
            {
                [default] [experimental] interface Windows.Devices.Printers.IReplaceDevicePropertiesResult;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 19.0)]
            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VirtualPrinterInstallationParameters
            {
                [default] [experimental] interface Windows.Devices.Printers.IVirtualPrinterInstallationParameters;
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            runtimeclass VirtualPrinterInstallationResult
            {
                [default] [experimental] interface Windows.Devices.Printers.IVirtualPrinterInstallationResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Printers.IVirtualPrinterManagerStatics, Windows.Foundation.UniversalApiContract, 19.0)]
            [threading(both)]
            runtimeclass VirtualPrinterManager
            {
            }

            [activatable(Windows.Devices.Printers.IVirtualPrinterSupportedFormatFactory, Windows.Foundation.UniversalApiContract, 19.0)]
            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass VirtualPrinterSupportedFormat
            {
                [default] [experimental] interface Windows.Devices.Printers.IVirtualPrinterSupportedFormat;
            }
        }
    }
}
