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

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        interface IClosable;

        typedef struct Point Point;

        typedef struct Rect Rect;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            runtimeclass BitmapFrame;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IRandomAccessStreamWithContentType;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace PointOfService
        {
            typedef enum BarcodeScannerStatus BarcodeScannerStatus;

            typedef enum BarcodeSymbologyDecodeLengthKind BarcodeSymbologyDecodeLengthKind;

            typedef enum CashDrawerStatusKind CashDrawerStatusKind;

            typedef enum LineDisplayCursorType LineDisplayCursorType;

            typedef enum LineDisplayDescriptorState LineDisplayDescriptorState;

            typedef enum LineDisplayHorizontalAlignment LineDisplayHorizontalAlignment;

            typedef enum LineDisplayMarqueeFormat LineDisplayMarqueeFormat;

            typedef enum LineDisplayPowerStatus LineDisplayPowerStatus;

            typedef enum LineDisplayScrollDirection LineDisplayScrollDirection;

            typedef enum LineDisplayTextAttribute LineDisplayTextAttribute;

            typedef enum LineDisplayTextAttributeGranularity LineDisplayTextAttributeGranularity;

            typedef enum LineDisplayVerticalAlignment LineDisplayVerticalAlignment;

            typedef enum MagneticStripeReaderAuthenticationLevel MagneticStripeReaderAuthenticationLevel;

            typedef enum MagneticStripeReaderAuthenticationProtocol MagneticStripeReaderAuthenticationProtocol;

            typedef enum MagneticStripeReaderErrorReportingType MagneticStripeReaderErrorReportingType;

            typedef enum MagneticStripeReaderStatus MagneticStripeReaderStatus;

            typedef enum MagneticStripeReaderTrackErrorType MagneticStripeReaderTrackErrorType;

            typedef enum MagneticStripeReaderTrackIds MagneticStripeReaderTrackIds;

            typedef enum PosConnectionTypes PosConnectionTypes;

            typedef enum PosPrinterAlignment PosPrinterAlignment;

            typedef enum PosPrinterBarcodeTextPosition PosPrinterBarcodeTextPosition;

            typedef enum PosPrinterCartridgeSensors PosPrinterCartridgeSensors;

            typedef enum PosPrinterColorCapabilities PosPrinterColorCapabilities;

            typedef enum PosPrinterColorCartridge PosPrinterColorCartridge;

            typedef enum PosPrinterLineDirection PosPrinterLineDirection;

            typedef enum PosPrinterLineStyle PosPrinterLineStyle;

            typedef enum PosPrinterMapMode PosPrinterMapMode;

            typedef enum PosPrinterMarkFeedCapabilities PosPrinterMarkFeedCapabilities;

            typedef enum PosPrinterMarkFeedKind PosPrinterMarkFeedKind;

            typedef enum PosPrinterPrintSide PosPrinterPrintSide;

            typedef enum PosPrinterRotation PosPrinterRotation;

            typedef enum PosPrinterRuledLineCapabilities PosPrinterRuledLineCapabilities;

            typedef enum PosPrinterStatusKind PosPrinterStatusKind;

            typedef enum UnifiedPosErrorReason UnifiedPosErrorReason;

            typedef enum UnifiedPosErrorSeverity UnifiedPosErrorSeverity;

            typedef enum UnifiedPosHealthCheckLevel UnifiedPosHealthCheckLevel;

            typedef enum UnifiedPosPowerReportingType UnifiedPosPowerReportingType;

            typedef struct SizeUInt32 SizeUInt32;

            interface IBarcodeScanner;

            interface IBarcodeScanner2;

            interface IBarcodeScannerCapabilities;

            interface IBarcodeScannerCapabilities1;

            interface IBarcodeScannerCapabilities2;

            interface IBarcodeScannerDataReceivedEventArgs;

            interface IBarcodeScannerErrorOccurredEventArgs;

            interface IBarcodeScannerImagePreviewReceivedEventArgs;

            interface IBarcodeScannerReport;

            interface IBarcodeScannerReportFactory;

            interface IBarcodeScannerStatics;

            interface IBarcodeScannerStatics2;

            interface IBarcodeScannerStatusUpdatedEventArgs;

            interface IBarcodeSymbologiesStatics;

            interface IBarcodeSymbologiesStatics2;

            interface IBarcodeSymbologyAttributes;

            interface ICashDrawer;

            interface ICashDrawerCapabilities;

            interface ICashDrawerCloseAlarm;

            interface ICashDrawerEventSource;

            interface ICashDrawerEventSourceEventArgs;

            interface ICashDrawerStatics;

            interface ICashDrawerStatics2;

            interface ICashDrawerStatus;

            interface ICashDrawerStatusUpdatedEventArgs;

            interface IClaimedBarcodeScanner;

            interface IClaimedBarcodeScanner1;

            interface IClaimedBarcodeScanner2;

            interface IClaimedBarcodeScanner3;

            interface IClaimedBarcodeScanner4;

            interface IClaimedBarcodeScannerClosedEventArgs;

            interface IClaimedCashDrawer;

            interface IClaimedCashDrawer2;

            interface IClaimedCashDrawerClosedEventArgs;

            interface IClaimedJournalPrinter;

            interface IClaimedLineDisplay;

            interface IClaimedLineDisplay2;

            interface IClaimedLineDisplay3;

            interface IClaimedLineDisplayClosedEventArgs;

            interface IClaimedLineDisplayStatics;

            interface IClaimedMagneticStripeReader;

            interface IClaimedMagneticStripeReader2;

            interface IClaimedMagneticStripeReaderClosedEventArgs;

            interface IClaimedPosPrinter;

            interface IClaimedPosPrinter2;

            interface IClaimedPosPrinterClosedEventArgs;

            interface IClaimedReceiptPrinter;

            interface IClaimedSlipPrinter;

            interface ICommonClaimedPosPrinterStation;

            interface ICommonPosPrintStationCapabilities;

            interface ICommonReceiptSlipCapabilities;

            interface IJournalPrintJob;

            interface IJournalPrinterCapabilities;

            interface IJournalPrinterCapabilities2;

            interface ILineDisplay;

            interface ILineDisplay2;

            interface ILineDisplayAttributes;

            interface ILineDisplayCapabilities;

            interface ILineDisplayCursor;

            interface ILineDisplayCursorAttributes;

            interface ILineDisplayCustomGlyphs;

            interface ILineDisplayMarquee;

            interface ILineDisplayStatics;

            interface ILineDisplayStatics2;

            interface ILineDisplayStatisticsCategorySelector;

            interface ILineDisplayStatusUpdatedEventArgs;

            interface ILineDisplayStoredBitmap;

            interface ILineDisplayWindow;

            interface ILineDisplayWindow2;

            interface IMagneticStripeReader;

            interface IMagneticStripeReaderAamvaCardDataReceivedEventArgs;

            interface IMagneticStripeReaderBankCardDataReceivedEventArgs;

            interface IMagneticStripeReaderCapabilities;

            interface IMagneticStripeReaderCardTypesStatics;

            interface IMagneticStripeReaderEncryptionAlgorithmsStatics;

            interface IMagneticStripeReaderErrorOccurredEventArgs;

            interface IMagneticStripeReaderReport;

            interface IMagneticStripeReaderStatics;

            interface IMagneticStripeReaderStatics2;

            interface IMagneticStripeReaderStatusUpdatedEventArgs;

            interface IMagneticStripeReaderTrackData;

            interface IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;

            interface IPosPrinter;

            interface IPosPrinter2;

            interface IPosPrinterCapabilities;

            interface IPosPrinterCharacterSetIdsStatics;

            interface IPosPrinterFontProperty;

            interface IPosPrinterJob;

            interface IPosPrinterPrintOptions;

            interface IPosPrinterReleaseDeviceRequestedEventArgs;

            interface IPosPrinterStatics;

            interface IPosPrinterStatics2;

            interface IPosPrinterStatus;

            interface IPosPrinterStatusUpdatedEventArgs;

            interface IReceiptOrSlipJob;

            interface IReceiptPrintJob;

            interface IReceiptPrintJob2;

            interface IReceiptPrinterCapabilities;

            interface IReceiptPrinterCapabilities2;

            interface ISlipPrintJob;

            interface ISlipPrinterCapabilities;

            interface ISlipPrinterCapabilities2;

            interface IUnifiedPosErrorData;

            interface IUnifiedPosErrorDataFactory;

            runtimeclass BarcodeScanner;

            runtimeclass BarcodeScannerCapabilities;

            runtimeclass BarcodeScannerDataReceivedEventArgs;

            runtimeclass BarcodeScannerErrorOccurredEventArgs;

            runtimeclass BarcodeScannerImagePreviewReceivedEventArgs;

            runtimeclass BarcodeScannerReport;

            runtimeclass BarcodeScannerStatusUpdatedEventArgs;

            runtimeclass BarcodeSymbologies;

            runtimeclass BarcodeSymbologyAttributes;

            runtimeclass CashDrawer;

            runtimeclass CashDrawerCapabilities;

            runtimeclass CashDrawerCloseAlarm;

            runtimeclass CashDrawerClosedEventArgs;

            runtimeclass CashDrawerEventSource;

            runtimeclass CashDrawerOpenedEventArgs;

            runtimeclass CashDrawerStatus;

            runtimeclass CashDrawerStatusUpdatedEventArgs;

            runtimeclass ClaimedBarcodeScanner;

            runtimeclass ClaimedBarcodeScannerClosedEventArgs;

            runtimeclass ClaimedCashDrawer;

            runtimeclass ClaimedCashDrawerClosedEventArgs;

            runtimeclass ClaimedJournalPrinter;

            runtimeclass ClaimedLineDisplay;

            runtimeclass ClaimedLineDisplayClosedEventArgs;

            runtimeclass ClaimedMagneticStripeReader;

            runtimeclass ClaimedMagneticStripeReaderClosedEventArgs;

            runtimeclass ClaimedPosPrinter;

            runtimeclass ClaimedPosPrinterClosedEventArgs;

            runtimeclass ClaimedReceiptPrinter;

            runtimeclass ClaimedSlipPrinter;

            runtimeclass JournalPrintJob;

            runtimeclass JournalPrinterCapabilities;

            runtimeclass LineDisplay;

            runtimeclass LineDisplayAttributes;

            runtimeclass LineDisplayCapabilities;

            runtimeclass LineDisplayCursor;

            runtimeclass LineDisplayCursorAttributes;

            runtimeclass LineDisplayCustomGlyphs;

            runtimeclass LineDisplayMarquee;

            runtimeclass LineDisplayStatisticsCategorySelector;

            runtimeclass LineDisplayStatusUpdatedEventArgs;

            runtimeclass LineDisplayStoredBitmap;

            runtimeclass LineDisplayWindow;

            runtimeclass MagneticStripeReader;

            runtimeclass MagneticStripeReaderAamvaCardDataReceivedEventArgs;

            runtimeclass MagneticStripeReaderBankCardDataReceivedEventArgs;

            runtimeclass MagneticStripeReaderCapabilities;

            runtimeclass MagneticStripeReaderCardTypes;

            runtimeclass MagneticStripeReaderEncryptionAlgorithms;

            runtimeclass MagneticStripeReaderErrorOccurredEventArgs;

            runtimeclass MagneticStripeReaderReport;

            runtimeclass MagneticStripeReaderStatusUpdatedEventArgs;

            runtimeclass MagneticStripeReaderTrackData;

            runtimeclass MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;

            runtimeclass PosPrinter;

            runtimeclass PosPrinterCapabilities;

            runtimeclass PosPrinterCharacterSetIds;

            runtimeclass PosPrinterFontProperty;

            runtimeclass PosPrinterPrintOptions;

            runtimeclass PosPrinterReleaseDeviceRequestedEventArgs;

            runtimeclass PosPrinterStatus;

            runtimeclass PosPrinterStatusUpdatedEventArgs;

            runtimeclass ReceiptPrintJob;

            runtimeclass ReceiptPrinterCapabilities;

            runtimeclass SlipPrintJob;

            runtimeclass SlipPrinterCapabilities;

            runtimeclass UnifiedPosErrorData;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Devices
    {
        namespace PointOfService
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Devices.PointOfService.PosPrinterRotation>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.PointOfService.SizeUInt32>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.PointOfService.PosPrinterRotation>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.PointOfService.SizeUInt32>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.PointOfService.PosPrinterRotation>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.PointOfService.SizeUInt32>;

                interface Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>;

                interface Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.BarcodeScanner*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.BarcodeSymbologyAttributes*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.CashDrawer*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedCashDrawer*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedLineDisplay*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedPosPrinter*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplay*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayPowerStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayStoredBitmap*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayWindow*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.MagneticStripeReader*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.PosPrinter*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.BarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerStatusUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawer*, Windows.Devices.PointOfService.CashDrawerStatusUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerCloseAlarm*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerEventSource*, Windows.Devices.PointOfService.CashDrawerClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerEventSource*, Windows.Devices.PointOfService.CashDrawerOpenedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerDataReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerErrorOccurredEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerImagePreviewReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.ClaimedBarcodeScannerClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedCashDrawer*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedCashDrawer*, Windows.Devices.PointOfService.ClaimedCashDrawerClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, Windows.Devices.PointOfService.ClaimedLineDisplayClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, Windows.Devices.PointOfService.LineDisplayStatusUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.ClaimedMagneticStripeReaderClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderAamvaCardDataReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderBankCardDataReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderErrorOccurredEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedPosPrinter*, Windows.Devices.PointOfService.ClaimedPosPrinterClosedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedPosPrinter*, Windows.Devices.PointOfService.PosPrinterReleaseDeviceRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.MagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderStatusUpdatedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.PosPrinter*, Windows.Devices.PointOfService.PosPrinterStatusUpdatedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace PointOfService
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum BarcodeScannerStatus
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum BarcodeSymbologyDecodeLengthKind
            {
                AnyLength = 0,
                Discrete  = 1,
                Range     = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CashDrawerStatusKind
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayCursorType
            {
                None      = 0,
                Block     = 1,
                HalfBlock = 2,
                Underline = 3,
                Reverse   = 4,
                Other     = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayDescriptorState
            {
                Off   = 0,
                On    = 1,
                Blink = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayHorizontalAlignment
            {
                Left   = 0,
                Center = 1,
                Right  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayMarqueeFormat
            {
                None  = 0,
                Walk  = 1,
                Place = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayPowerStatus
            {
                Unknown      = 0,
                Online       = 1,
                Off          = 2,
                Offline      = 3,
                OffOrOffline = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum LineDisplayScrollDirection
            {
                Up    = 0,
                Down  = 1,
                Left  = 2,
                Right = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum LineDisplayTextAttribute
            {
                Normal       = 0,
                Blink        = 1,
                Reverse      = 2,
                ReverseBlink = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            enum LineDisplayTextAttributeGranularity
            {
                NotSupported  = 0,
                EntireDisplay = 1,
                PerCharacter  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            enum LineDisplayVerticalAlignment
            {
                Top    = 0,
                Center = 1,
                Bottom = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderAuthenticationLevel
            {
                NotSupported = 0,
                Optional     = 1,
                Required     = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderAuthenticationProtocol
            {
                None              = 0,
                ChallengeResponse = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderErrorReportingType
            {
                CardLevel  = 0,
                TrackLevel = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderStatus
            {
                Unauthenticated = 0,
                Authenticated   = 1,
                Extended        = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderTrackErrorType
            {
                None               = 0,
                StartSentinelError = 1,
                EndSentinelError   = 2,
                ParityError        = 3,
                LrcError           = 4,
                Unknown            = -1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum MagneticStripeReaderTrackIds
            {
                None   = 0,
                Track1 = 1,
                Track2 = 2,
                Track3 = 4,
                Track4 = 8
            };

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [flags]
            enum PosConnectionTypes
            {
                Local     = 0x1,
                IP        = 0x2,
                Bluetooth = 0x4,
                All       = 0xFFFFFFFF
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterAlignment
            {
                Left   = 0,
                Center = 1,
                Right  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterBarcodeTextPosition
            {
                None  = 0,
                Above = 1,
                Below = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PosPrinterCartridgeSensors
            {
                None         = 0x0,
                Removed      = 0x1,
                Empty        = 0x2,
                HeadCleaning = 0x4,
                NearEnd      = 0x8
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PosPrinterColorCapabilities
            {
                None    = 0x0,
                Primary = 0x1,
                Custom1 = 0x2,
                Custom2 = 0x4,
                Custom3 = 0x8,
                Custom4 = 0x10,
                Custom5 = 0x20,
                Custom6 = 0x40,
                Cyan    = 0x80,
                Magenta = 0x100,
                Yellow  = 0x200,
                Full    = 0x400
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterColorCartridge
            {
                Unknown = 0,
                Primary = 1,
                Custom1 = 2,
                Custom2 = 3,
                Custom3 = 4,
                Custom4 = 5,
                Custom5 = 6,
                Custom6 = 7,
                Cyan    = 8,
                Magenta = 9,
                Yellow  = 10
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterLineDirection
            {
                Horizontal = 0,
                Vertical   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterLineStyle
            {
                SingleSolid = 0,
                DoubleSolid = 1,
                Broken      = 2,
                Chain       = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterMapMode
            {
                Dots    = 0,
                Twips   = 1,
                English = 2,
                Metric  = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PosPrinterMarkFeedCapabilities
            {
                None               = 0x0,
                ToTakeUp           = 0x1,
                ToCutter           = 0x2,
                ToCurrentTopOfForm = 0x4,
                ToNextTopOfForm    = 0x8
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterMarkFeedKind
            {
                ToTakeUp           = 0,
                ToCutter           = 1,
                ToCurrentTopOfForm = 2,
                ToNextTopOfForm    = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterPrintSide
            {
                Unknown = 0,
                Side1   = 1,
                Side2   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterRotation
            {
                Normal    = 0,
                Right90   = 1,
                Left90    = 2,
                Rotate180 = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PosPrinterRuledLineCapabilities
            {
                None       = 0x0,
                Horizontal = 0x1,
                Vertical   = 0x2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PosPrinterStatusKind
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum UnifiedPosErrorReason
            {
                UnknownErrorReason = 0,
                NoService          = 1,
                Disabled           = 2,
                Illegal            = 3,
                NoHardware         = 4,
                Closed             = 5,
                Offline            = 6,
                Failure            = 7,
                Timeout            = 8,
                Busy               = 9,
                Extended           = 10
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum UnifiedPosErrorSeverity
            {
                UnknownErrorSeverity = 0,
                Warning              = 1,
                Recoverable          = 2,
                Unrecoverable        = 3,
                AssistanceRequired   = 4,
                Fatal                = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum UnifiedPosHealthCheckLevel
            {
                UnknownHealthCheckLevel = 0,
                POSInternal             = 1,
                External                = 2,
                Interactive             = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum UnifiedPosPowerReportingType
            {
                UnknownPowerReportingType = 0,
                Standard                  = 1,
                Advanced                  = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            struct SizeUInt32
            {
                UINT32 Width;
                UINT32 Height;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(BEA33E06-B264-4F03-A9C1-45B20F01134F)]
            interface IBarcodeScanner : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.BarcodeScannerCapabilities** value);
                HRESULT ClaimScannerAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>** operation);
                HRESULT CheckHealthAsync([in] Windows.Devices.PointOfService.UnifiedPosHealthCheckLevel level, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetSupportedSymbologiesAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<UINT32>*>** operation);
                HRESULT IsSymbologySupportedAsync([in] UINT32 barcodeSymbology, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RetrieveStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer*>** operation);
                HRESULT GetSupportedProfiles([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                HRESULT IsProfileSupported([in] HSTRING profile, [out] [retval] boolean* isSupported);
                [eventadd] HRESULT StatusUpdated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.BarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerStatusUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUpdated([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(89215167-8CEE-436D-89AB-8DFB43BB4286)]
            interface IBarcodeScanner2 : IInspectable
            {
                [propget] HRESULT VideoDeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerCapabilities)]
            [uuid(C60691E4-F2C8-4420-A307-B12EF6622857)]
            interface IBarcodeScannerCapabilities : IInspectable
            {
                [propget] HRESULT PowerReportingType([out] [retval] Windows.Devices.PointOfService.UnifiedPosPowerReportingType* value);
                [propget] HRESULT IsStatisticsReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatisticsUpdatingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsImagePreviewSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerCapabilities)]
            [uuid(8E5AB3E9-0E2C-472F-A1CC-EE8054B6A684)]
            interface IBarcodeScannerCapabilities1 : IInspectable
            {
                [propget] HRESULT IsSoftwareTriggerSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerCapabilities)]
            [uuid(F211CFEC-E1A1-4EA8-9ABC-92B1596270AB)]
            interface IBarcodeScannerCapabilities2 : IInspectable
            {
                [propget] HRESULT IsVideoPreviewSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerDataReceivedEventArgs)]
            [uuid(4234A7E2-ED97-467D-AD2B-01E44313A929)]
            interface IBarcodeScannerDataReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Report([out] [retval] Windows.Devices.PointOfService.BarcodeScannerReport** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerErrorOccurredEventArgs)]
            [uuid(2CD2602F-CF3A-4002-A75A-C5EC468F0A20)]
            interface IBarcodeScannerErrorOccurredEventArgs : IInspectable
            {
                [propget] HRESULT PartialInputData([out] [retval] Windows.Devices.PointOfService.BarcodeScannerReport** value);
                [propget] HRESULT IsRetriable([out] [retval] boolean* value);
                [propget] HRESULT ErrorData([out] [retval] Windows.Devices.PointOfService.UnifiedPosErrorData** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerImagePreviewReceivedEventArgs)]
            [uuid(F3B7DE85-6E8B-434E-9F58-06EF26BC4BAF)]
            interface IBarcodeScannerImagePreviewReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Preview([out] [retval] Windows.Storage.Streams.IRandomAccessStreamWithContentType** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerReport)]
            [uuid(5CE4D8B0-A489-4B96-86C4-F0BF8A37753D)]
            interface IBarcodeScannerReport : IInspectable
            {
                [propget] HRESULT ScanDataType([out] [retval] UINT32* value);
                [propget] HRESULT ScanData([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT ScanDataLabel([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerReport)]
            [uuid(A2547326-2013-457C-8963-49C15DCA78CE)]
            interface IBarcodeScannerReportFactory : IInspectable
            {
                HRESULT CreateInstance([in] UINT32 scanDataType, [in] Windows.Storage.Streams.IBuffer* scanData, [in] Windows.Storage.Streams.IBuffer* scanDataLabel, [out] [retval] Windows.Devices.PointOfService.BarcodeScannerReport** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(5D115F6F-DA49-41E8-8C8C-F0CB62A9C4FC)]
            interface IBarcodeScannerStatics : IInspectable
            {
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.BarcodeScanner*>** result);
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.BarcodeScanner*>** result);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(B8652473-A36F-4007-B1D0-279EBE92A656)]
            interface IBarcodeScannerStatics2 : IInspectable
            {
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerStatusUpdatedEventArgs)]
            [uuid(355D8586-9C43-462B-A91A-816DC97F452C)]
            interface IBarcodeScannerStatusUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.BarcodeScannerStatus* value);
                [propget] HRESULT ExtendedStatus([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeSymbologies)]
            [uuid(CA8549BB-06D2-43F4-A44B-C620679FD8D0)]
            interface IBarcodeSymbologiesStatics : IInspectable
            {
                [propget] HRESULT Unknown([out] [retval] UINT32* value);
                [propget] HRESULT Ean8([out] [retval] UINT32* value);
                [propget] HRESULT Ean8Add2([out] [retval] UINT32* value);
                [propget] HRESULT Ean8Add5([out] [retval] UINT32* value);
                [propget] HRESULT Eanv([out] [retval] UINT32* value);
                [propget] HRESULT EanvAdd2([out] [retval] UINT32* value);
                [propget] HRESULT EanvAdd5([out] [retval] UINT32* value);
                [propget] HRESULT Ean13([out] [retval] UINT32* value);
                [propget] HRESULT Ean13Add2([out] [retval] UINT32* value);
                [propget] HRESULT Ean13Add5([out] [retval] UINT32* value);
                [propget] HRESULT Isbn([out] [retval] UINT32* value);
                [propget] HRESULT IsbnAdd5([out] [retval] UINT32* value);
                [propget] HRESULT Ismn([out] [retval] UINT32* value);
                [propget] HRESULT IsmnAdd2([out] [retval] UINT32* value);
                [propget] HRESULT IsmnAdd5([out] [retval] UINT32* value);
                [propget] HRESULT Issn([out] [retval] UINT32* value);
                [propget] HRESULT IssnAdd2([out] [retval] UINT32* value);
                [propget] HRESULT IssnAdd5([out] [retval] UINT32* value);
                [propget] HRESULT Ean99([out] [retval] UINT32* value);
                [propget] HRESULT Ean99Add2([out] [retval] UINT32* value);
                [propget] HRESULT Ean99Add5([out] [retval] UINT32* value);
                [propget] HRESULT Upca([out] [retval] UINT32* value);
                [propget] HRESULT UpcaAdd2([out] [retval] UINT32* value);
                [propget] HRESULT UpcaAdd5([out] [retval] UINT32* value);
                [propget] HRESULT Upce([out] [retval] UINT32* value);
                [propget] HRESULT UpceAdd2([out] [retval] UINT32* value);
                [propget] HRESULT UpceAdd5([out] [retval] UINT32* value);
                [propget] HRESULT UpcCoupon([out] [retval] UINT32* value);
                [propget] HRESULT TfStd([out] [retval] UINT32* value);
                [propget] HRESULT TfDis([out] [retval] UINT32* value);
                [propget] HRESULT TfInt([out] [retval] UINT32* value);
                [propget] HRESULT TfInd([out] [retval] UINT32* value);
                [propget] HRESULT TfMat([out] [retval] UINT32* value);
                [propget] HRESULT TfIata([out] [retval] UINT32* value);
                [propget] HRESULT Gs1DatabarType1([out] [retval] UINT32* value);
                [propget] HRESULT Gs1DatabarType2([out] [retval] UINT32* value);
                [propget] HRESULT Gs1DatabarType3([out] [retval] UINT32* value);
                [propget] HRESULT Code39([out] [retval] UINT32* value);
                [propget] HRESULT Code39Ex([out] [retval] UINT32* value);
                [propget] HRESULT Trioptic39([out] [retval] UINT32* value);
                [propget] HRESULT Code32([out] [retval] UINT32* value);
                [propget] HRESULT Pzn([out] [retval] UINT32* value);
                [propget] HRESULT Code93([out] [retval] UINT32* value);
                [propget] HRESULT Code93Ex([out] [retval] UINT32* value);
                [propget] HRESULT Code128([out] [retval] UINT32* value);
                [propget] HRESULT Gs1128([out] [retval] UINT32* value);
                [propget] HRESULT Gs1128Coupon([out] [retval] UINT32* value);
                [propget] HRESULT UccEan128([out] [retval] UINT32* value);
                [propget] HRESULT Sisac([out] [retval] UINT32* value);
                [propget] HRESULT Isbt([out] [retval] UINT32* value);
                [propget] HRESULT Codabar([out] [retval] UINT32* value);
                [propget] HRESULT Code11([out] [retval] UINT32* value);
                [propget] HRESULT Msi([out] [retval] UINT32* value);
                [propget] HRESULT Plessey([out] [retval] UINT32* value);
                [propget] HRESULT Telepen([out] [retval] UINT32* value);
                [propget] HRESULT Code16k([out] [retval] UINT32* value);
                [propget] HRESULT CodablockA([out] [retval] UINT32* value);
                [propget] HRESULT CodablockF([out] [retval] UINT32* value);
                [propget] HRESULT Codablock128([out] [retval] UINT32* value);
                [propget] HRESULT Code49([out] [retval] UINT32* value);
                [propget] HRESULT Aztec([out] [retval] UINT32* value);
                [propget] HRESULT DataCode([out] [retval] UINT32* value);
                [propget] HRESULT DataMatrix([out] [retval] UINT32* value);
                [propget] HRESULT HanXin([out] [retval] UINT32* value);
                [propget] HRESULT Maxicode([out] [retval] UINT32* value);
                [propget] HRESULT MicroPdf417([out] [retval] UINT32* value);
                [propget] HRESULT MicroQr([out] [retval] UINT32* value);
                [propget] HRESULT Pdf417([out] [retval] UINT32* value);
                [propget] HRESULT Qr([out] [retval] UINT32* value);
                [propget] HRESULT MsTag([out] [retval] UINT32* value);
                [propget] HRESULT Ccab([out] [retval] UINT32* value);
                [propget] HRESULT Ccc([out] [retval] UINT32* value);
                [propget] HRESULT Tlc39([out] [retval] UINT32* value);
                [propget] HRESULT AusPost([out] [retval] UINT32* value);
                [propget] HRESULT CanPost([out] [retval] UINT32* value);
                [propget] HRESULT ChinaPost([out] [retval] UINT32* value);
                [propget] HRESULT DutchKix([out] [retval] UINT32* value);
                [propget] HRESULT InfoMail([out] [retval] UINT32* value);
                [propget] HRESULT ItalianPost25([out] [retval] UINT32* value);
                [propget] HRESULT ItalianPost39([out] [retval] UINT32* value);
                [propget] HRESULT JapanPost([out] [retval] UINT32* value);
                [propget] HRESULT KoreanPost([out] [retval] UINT32* value);
                [propget] HRESULT SwedenPost([out] [retval] UINT32* value);
                [propget] HRESULT UkPost([out] [retval] UINT32* value);
                [propget] HRESULT UsIntelligent([out] [retval] UINT32* value);
                [propget] HRESULT UsIntelligentPkg([out] [retval] UINT32* value);
                [propget] HRESULT UsPlanet([out] [retval] UINT32* value);
                [propget] HRESULT UsPostNet([out] [retval] UINT32* value);
                [propget] HRESULT Us4StateFics([out] [retval] UINT32* value);
                [propget] HRESULT OcrA([out] [retval] UINT32* value);
                [propget] HRESULT OcrB([out] [retval] UINT32* value);
                [propget] HRESULT Micr([out] [retval] UINT32* value);
                [propget] HRESULT ExtendedBase([out] [retval] UINT32* value);
                HRESULT GetName([in] UINT32 scanDataType, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeSymbologies)]
            [uuid(8B7518F4-99D0-40BF-9424-B91D6DD4C6E0)]
            interface IBarcodeSymbologiesStatics2 : IInspectable
            {
                [propget] HRESULT Gs1DWCode([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.BarcodeSymbologyAttributes)]
            [uuid(66413A78-AB7A-4ADA-8ECE-936014B2EAD7)]
            interface IBarcodeSymbologyAttributes : IInspectable
            {
                [propget] HRESULT IsCheckDigitValidationEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsCheckDigitValidationEnabled([in] boolean value);
                [propget] HRESULT IsCheckDigitValidationSupported([out] [retval] boolean* value);
                [propget] HRESULT IsCheckDigitTransmissionEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsCheckDigitTransmissionEnabled([in] boolean value);
                [propget] HRESULT IsCheckDigitTransmissionSupported([out] [retval] boolean* value);
                [propget] HRESULT DecodeLength1([out] [retval] UINT32* value);
                [propput] HRESULT DecodeLength1([in] UINT32 value);
                [propget] HRESULT DecodeLength2([out] [retval] UINT32* value);
                [propput] HRESULT DecodeLength2([in] UINT32 value);
                [propget] HRESULT DecodeLengthKind([out] [retval] Windows.Devices.PointOfService.BarcodeSymbologyDecodeLengthKind* value);
                [propput] HRESULT DecodeLengthKind([in] Windows.Devices.PointOfService.BarcodeSymbologyDecodeLengthKind value);
                [propget] HRESULT IsDecodeLengthSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawer)]
            [uuid(9F88F5C8-DE54-4AEE-A890-920BCBFE30FC)]
            interface ICashDrawer : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.CashDrawerCapabilities** value);
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.CashDrawerStatus** value);
                [propget] HRESULT IsDrawerOpen([out] [retval] boolean* value);
                [propget] HRESULT DrawerEventSource([out] [retval] Windows.Devices.PointOfService.CashDrawerEventSource** value);
                HRESULT ClaimDrawerAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedCashDrawer*>** operation);
                HRESULT CheckHealthAsync([in] Windows.Devices.PointOfService.UnifiedPosHealthCheckLevel level, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [eventadd] HRESULT StatusUpdated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawer*, Windows.Devices.PointOfService.CashDrawerStatusUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUpdated([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawerCapabilities)]
            [uuid(0BC6DE0B-E8E7-4B1F-B1D1-3E501AD08247)]
            interface ICashDrawerCapabilities : IInspectable
            {
                [propget] HRESULT PowerReportingType([out] [retval] Windows.Devices.PointOfService.UnifiedPosPowerReportingType* value);
                [propget] HRESULT IsStatisticsReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatisticsUpdatingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatusReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatusMultiDrawerDetectSupported([out] [retval] boolean* value);
                [propget] HRESULT IsDrawerOpenSensorAvailable([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawerCloseAlarm)]
            [uuid(6BF88CC7-6F63-430E-AB3B-95D75FFBE87F)]
            interface ICashDrawerCloseAlarm : IInspectable
            {
                [propput] HRESULT AlarmTimeout([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT AlarmTimeout([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT BeepFrequency([in] UINT32 value);
                [propget] HRESULT BeepFrequency([out] [retval] UINT32* value);
                [propput] HRESULT BeepDuration([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT BeepDuration([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT BeepDelay([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT BeepDelay([out] [retval] Windows.Foundation.TimeSpan* value);
                [eventadd] HRESULT AlarmTimeoutExpired([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerCloseAlarm*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AlarmTimeoutExpired([in] EventRegistrationToken token);
                HRESULT StartAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawerEventSource)]
            [uuid(E006E46C-F2F9-442F-8DD6-06C10A4227BA)]
            interface ICashDrawerEventSource : IInspectable
            {
                [eventadd] HRESULT DrawerClosed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerEventSource*, Windows.Devices.PointOfService.CashDrawerClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT DrawerClosed([in] EventRegistrationToken token);
                [eventadd] HRESULT DrawerOpened([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.CashDrawerEventSource*, Windows.Devices.PointOfService.CashDrawerOpenedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT DrawerOpened([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(69CB3BC1-147F-421C-9C23-090123BB786C)]
            interface ICashDrawerEventSourceEventArgs : IInspectable
            {
                [propget] HRESULT CashDrawer([out] [retval] Windows.Devices.PointOfService.CashDrawer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawer)]
            [uuid(DFA0955A-D437-4FFF-B547-DDA969A4F883)]
            interface ICashDrawerStatics : IInspectable
            {
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.CashDrawer*>** result);
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.CashDrawer*>** result);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawer)]
            [uuid(3E818121-8C42-40E8-9C0E-40297048104C)]
            interface ICashDrawerStatics2 : IInspectable
            {
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawerStatus)]
            [uuid(6BBD78BF-DCA1-4E06-99EB-5AF6A5AEC108)]
            interface ICashDrawerStatus : IInspectable
            {
                [propget] HRESULT StatusKind([out] [retval] Windows.Devices.PointOfService.CashDrawerStatusKind* value);
                [propget] HRESULT ExtendedStatus([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.CashDrawerStatusUpdatedEventArgs)]
            [uuid(30AAE98A-0D70-459C-9553-87E124C52488)]
            interface ICashDrawerStatusUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.CashDrawerStatus** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(4A63B49C-8FA4-4332-BB26-945D11D81E0F)]
            interface IClaimedBarcodeScanner : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsDisabledOnDataReceived([in] boolean value);
                [propget] HRESULT IsDisabledOnDataReceived([out] [retval] boolean* value);
                [propput] HRESULT IsDecodeDataEnabled([in] boolean value);
                [propget] HRESULT IsDecodeDataEnabled([out] [retval] boolean* value);
                HRESULT EnableAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT DisableAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT RetainDevice();
                HRESULT SetActiveSymbologiesAsync([in] Windows.Foundation.Collections.IIterable<UINT32>* symbologies, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT ResetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT UpdateStatisticsAsync([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, HSTRING>*>* statistics, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT SetActiveProfileAsync([in] HSTRING profile, [out] [retval] Windows.Foundation.IAsyncAction** result);
                [eventadd] HRESULT DataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerDataReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT DataReceived([in] EventRegistrationToken token);
                [eventadd] HRESULT TriggerPressed([in] Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TriggerPressed([in] EventRegistrationToken token);
                [eventadd] HRESULT TriggerReleased([in] Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TriggerReleased([in] EventRegistrationToken token);
                [eventadd] HRESULT ReleaseDeviceRequested([in] Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReleaseDeviceRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT ImagePreviewReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerImagePreviewReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ImagePreviewReceived([in] EventRegistrationToken token);
                [eventadd] HRESULT ErrorOccurred([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.BarcodeScannerErrorOccurredEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ErrorOccurred([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(F61AAD0C-8551-42B4-998C-970C20210A22)]
            interface IClaimedBarcodeScanner1 : IInspectable
            {
                HRESULT StartSoftwareTriggerAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT StopSoftwareTriggerAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(E3B59E8C-2D8B-4F70-8AF3-3448BEDD5FE2)]
            interface IClaimedBarcodeScanner2 : IInspectable
            {
                HRESULT GetSymbologyAttributesAsync([in] UINT32 barcodeSymbology, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.BarcodeSymbologyAttributes*>** result);
                HRESULT SetSymbologyAttributesAsync([in] UINT32 barcodeSymbology, [in] Windows.Devices.PointOfService.BarcodeSymbologyAttributes* attributes, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(E6CEB430-712E-45FC-8B86-CD55F5AEF79D)]
            interface IClaimedBarcodeScanner3 : IInspectable
            {
                HRESULT ShowVideoPreviewAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT HideVideoPreview();
                [propput] HRESULT IsVideoPreviewShownOnEnable([in] boolean value);
                [propget] HRESULT IsVideoPreviewShownOnEnable([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(5D501F97-376A-41A8-A230-2F37C1949DDE)]
            interface IClaimedBarcodeScanner4 : IInspectable
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedBarcodeScanner*, Windows.Devices.PointOfService.ClaimedBarcodeScannerClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScannerClosedEventArgs)]
            [uuid(CF7D5489-A22C-4C65-A901-88D77D833954)]
            interface IClaimedBarcodeScannerClosedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedCashDrawer)]
            [uuid(CA3F99AF-ABB8-42C1-8A84-5C66512F5A75)]
            interface IClaimedCashDrawer : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propget] HRESULT IsDrawerOpen([out] [retval] boolean* value);
                [propget] HRESULT CloseAlarm([out] [retval] Windows.Devices.PointOfService.CashDrawerCloseAlarm** value);
                HRESULT OpenDrawerAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT EnableAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT DisableAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT RetainDeviceAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT ResetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT UpdateStatisticsAsync([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, HSTRING>*>* statistics, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [eventadd] HRESULT ReleaseDeviceRequested([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedCashDrawer*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReleaseDeviceRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedCashDrawer)]
            [uuid(9CBAB5A2-DE42-4D5B-B0C1-9B57A2BA89C3)]
            interface IClaimedCashDrawer2 : IInspectable
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedCashDrawer*, Windows.Devices.PointOfService.ClaimedCashDrawerClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedCashDrawerClosedEventArgs)]
            [uuid(CC573F33-3F34-4C5C-BAAE-DEADF16CD7FA)]
            interface IClaimedCashDrawerClosedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedJournalPrinter)]
            [uuid(67EA0630-517D-487F-9FDF-D2E0A0A264A5)]
            interface IClaimedJournalPrinter : IInspectable
            {
                HRESULT CreateJob([out] [retval] Windows.Devices.PointOfService.JournalPrintJob** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedLineDisplay)]
            [uuid(120AC970-9A75-4ACF-AAE7-09972BCF8794)]
            interface IClaimedLineDisplay : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.LineDisplayCapabilities** value);
                [propget] HRESULT PhysicalDeviceName([out] [retval] HSTRING* value);
                [propget] HRESULT PhysicalDeviceDescription([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceControlDescription([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceControlVersion([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceServiceVersion([out] [retval] HSTRING* value);
                [propget] HRESULT DefaultWindow([out] [retval] Windows.Devices.PointOfService.LineDisplayWindow** value);
                HRESULT RetainDevice();
                [eventadd] HRESULT ReleaseDeviceRequested([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReleaseDeviceRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedLineDisplay)]
            [uuid(A31C75ED-41F5-4E76-A074-795E47A46E97)]
            interface IClaimedLineDisplay2 : IInspectable
            {
                HRESULT GetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                HRESULT CheckHealthAsync([in] Windows.Devices.PointOfService.UnifiedPosHealthCheckLevel level, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                HRESULT CheckPowerStatusAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayPowerStatus>** result);
                [eventadd] HRESULT StatusUpdated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, Windows.Devices.PointOfService.LineDisplayStatusUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUpdated([in] EventRegistrationToken token);
                [propget] HRESULT SupportedScreenSizesInCharacters([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Foundation.Size>** value);
                [propget] HRESULT MaxBitmapSizeInPixels([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT SupportedCharacterSets([out] [retval] Windows.Foundation.Collections.IVectorView<INT32>** value);
                [propget] HRESULT CustomGlyphs([out] [retval] Windows.Devices.PointOfService.LineDisplayCustomGlyphs** value);
                HRESULT GetAttributes([out] [retval] Windows.Devices.PointOfService.LineDisplayAttributes** value);
                HRESULT TryUpdateAttributesAsync([in] Windows.Devices.PointOfService.LineDisplayAttributes* attributes, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TrySetDescriptorAsync([in] UINT32 descriptor, [in] Windows.Devices.PointOfService.LineDisplayDescriptorState descriptorState, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryClearDescriptorsAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryCreateWindowAsync([in] Windows.Foundation.Rect viewport, [in] Windows.Foundation.Size windowSize, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayWindow*>** result);
                [overload("TryStoreStorageFileBitmapAsync")] HRESULT TryStoreStorageFileBitmapAsync([in] Windows.Storage.StorageFile* bitmap, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayStoredBitmap*>** result);
                [overload("TryStoreStorageFileBitmapAsync")] HRESULT TryStoreStorageFileBitmapWithAlignmentAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Devices.PointOfService.LineDisplayHorizontalAlignment horizontalAlignment, [in] Windows.Devices.PointOfService.LineDisplayVerticalAlignment verticalAlignment, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayStoredBitmap*>** result);
                [overload("TryStoreStorageFileBitmapAsync")] HRESULT TryStoreStorageFileBitmapWithAlignmentAndWidthAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Devices.PointOfService.LineDisplayHorizontalAlignment horizontalAlignment, [in] Windows.Devices.PointOfService.LineDisplayVerticalAlignment verticalAlignment, [in] INT32 widthInPixels, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayStoredBitmap*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedLineDisplay)]
            [uuid(642ECD92-E9D4-4ECC-AF75-329C274CD18F)]
            interface IClaimedLineDisplay3 : IInspectable
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedLineDisplay*, Windows.Devices.PointOfService.ClaimedLineDisplayClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedLineDisplayClosedEventArgs)]
            [uuid(F915F364-D3D5-4F10-B511-90939EDFACD8)]
            interface IClaimedLineDisplayClosedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedLineDisplay)]
            [uuid(78CA98FB-8B6B-4973-86F0-3E570C351825)]
            interface IClaimedLineDisplayStatics : IInspectable
            {
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedLineDisplay*>** operation);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedMagneticStripeReader)]
            [uuid(475CA8F3-9417-48BC-B9D7-4163A7844C02)]
            interface IClaimedMagneticStripeReader : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsDisabledOnDataReceived([in] boolean value);
                [propget] HRESULT IsDisabledOnDataReceived([out] [retval] boolean* value);
                [propput] HRESULT IsDecodeDataEnabled([in] boolean value);
                [propget] HRESULT IsDecodeDataEnabled([out] [retval] boolean* value);
                [propget] HRESULT IsDeviceAuthenticated([out] [retval] boolean* value);
                [propput] HRESULT DataEncryptionAlgorithm([in] UINT32 value);
                [propget] HRESULT DataEncryptionAlgorithm([out] [retval] UINT32* value);
                [propput] HRESULT TracksToRead([in] Windows.Devices.PointOfService.MagneticStripeReaderTrackIds value);
                [propget] HRESULT TracksToRead([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackIds* value);
                [propput] HRESULT IsTransmitSentinelsEnabled([in] boolean value);
                [propget] HRESULT IsTransmitSentinelsEnabled([out] [retval] boolean* value);
                HRESULT EnableAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT DisableAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT RetainDevice();
                HRESULT SetErrorReportingType([in] Windows.Devices.PointOfService.MagneticStripeReaderErrorReportingType value);
                HRESULT RetrieveDeviceAuthenticationDataAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer*>** operation);
                HRESULT AuthenticateDeviceAsync([in] UINT32 __responseTokenSize, [in] [size_is(__responseTokenSize)] BYTE* responseToken, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT DeAuthenticateDeviceAsync([in] UINT32 __responseTokenSize, [in] [size_is(__responseTokenSize)] BYTE* responseToken, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT UpdateKeyAsync([in] HSTRING key, [in] HSTRING keyName, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT ResetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT UpdateStatisticsAsync([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, HSTRING>*>* statistics, [out] [retval] Windows.Foundation.IAsyncAction** result);
                [eventadd] HRESULT BankCardDataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderBankCardDataReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT BankCardDataReceived([in] EventRegistrationToken token);
                [eventadd] HRESULT AamvaCardDataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderAamvaCardDataReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AamvaCardDataReceived([in] EventRegistrationToken token);
                [eventadd] HRESULT VendorSpecificDataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VendorSpecificDataReceived([in] EventRegistrationToken token);
                [eventadd] HRESULT ReleaseDeviceRequested([in] Windows.Foundation.EventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReleaseDeviceRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT ErrorOccurred([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderErrorOccurredEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ErrorOccurred([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedMagneticStripeReader)]
            [uuid(236FAFDF-E2DC-4D7D-9C78-060DF2BF2928)]
            interface IClaimedMagneticStripeReader2 : IInspectable
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*, Windows.Devices.PointOfService.ClaimedMagneticStripeReaderClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedMagneticStripeReaderClosedEventArgs)]
            [uuid(14ADA93A-ADCD-4C80-ACDA-C3EAED2647E1)]
            interface IClaimedMagneticStripeReaderClosedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedPosPrinter)]
            [uuid(6D64CE0C-E03E-4B14-A38E-C28C34B86353)]
            interface IClaimedPosPrinter : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT IsEnabled([out] [retval] boolean* value);
                [propput] HRESULT CharacterSet([in] UINT32 value);
                [propget] HRESULT CharacterSet([out] [retval] UINT32* value);
                [propget] HRESULT IsCoverOpen([out] [retval] boolean* value);
                [propput] HRESULT IsCharacterSetMappingEnabled([in] boolean value);
                [propget] HRESULT IsCharacterSetMappingEnabled([out] [retval] boolean* value);
                [propput] HRESULT MapMode([in] Windows.Devices.PointOfService.PosPrinterMapMode value);
                [propget] HRESULT MapMode([out] [retval] Windows.Devices.PointOfService.PosPrinterMapMode* value);
                [propget] HRESULT Receipt([out] [retval] Windows.Devices.PointOfService.ClaimedReceiptPrinter** value);
                [propget] HRESULT Slip([out] [retval] Windows.Devices.PointOfService.ClaimedSlipPrinter** value);
                [propget] HRESULT Journal([out] [retval] Windows.Devices.PointOfService.ClaimedJournalPrinter** value);
                HRESULT EnableAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT DisableAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT RetainDeviceAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT ResetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT UpdateStatisticsAsync([in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, HSTRING>*>* statistics, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [eventadd] HRESULT ReleaseDeviceRequested([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedPosPrinter*, Windows.Devices.PointOfService.PosPrinterReleaseDeviceRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ReleaseDeviceRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedPosPrinter)]
            [uuid(5BF7A3D5-5198-437A-82DF-589993FA77E1)]
            interface IClaimedPosPrinter2 : IInspectable
            {
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.ClaimedPosPrinter*, Windows.Devices.PointOfService.ClaimedPosPrinterClosedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedPosPrinterClosedEventArgs)]
            [uuid(E2B7A27B-4D40-471D-92ED-63375B18C788)]
            interface IClaimedPosPrinterClosedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedReceiptPrinter)]
            [uuid(9AD27A74-DD61-4EE2-9837-5B5D72D538B9)]
            interface IClaimedReceiptPrinter : IInspectable
            {
                [propget] HRESULT SidewaysMaxLines([out] [retval] UINT32* value);
                [propget] HRESULT SidewaysMaxChars([out] [retval] UINT32* value);
                [propget] HRESULT LinesToPaperCut([out] [retval] UINT32* value);
                [propget] HRESULT PageSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT PrintArea([out] [retval] Windows.Foundation.Rect* value);
                HRESULT CreateJob([out] [retval] Windows.Devices.PointOfService.ReceiptPrintJob** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ClaimedSlipPrinter)]
            [uuid(BD5DEFF2-AF90-4E8A-B77B-E3AE9CA63A7F)]
            interface IClaimedSlipPrinter : IInspectable
            {
                [propget] HRESULT SidewaysMaxLines([out] [retval] UINT32* value);
                [propget] HRESULT SidewaysMaxChars([out] [retval] UINT32* value);
                [propget] HRESULT MaxLines([out] [retval] UINT32* value);
                [propget] HRESULT LinesNearEndToEnd([out] [retval] UINT32* value);
                [propget] HRESULT PrintSide([out] [retval] Windows.Devices.PointOfService.PosPrinterPrintSide* value);
                [propget] HRESULT PageSize([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT PrintArea([out] [retval] Windows.Foundation.Rect* value);
                HRESULT OpenJaws();
                HRESULT CloseJaws();
                HRESULT InsertSlipAsync([in] Windows.Foundation.TimeSpan timeout, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT RemoveSlipAsync([in] Windows.Foundation.TimeSpan timeout, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT ChangePrintSide([in] Windows.Devices.PointOfService.PosPrinterPrintSide printSide);
                HRESULT CreateJob([out] [retval] Windows.Devices.PointOfService.SlipPrintJob** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(B7EB66A8-FE8A-4CFB-8B42-E35B280CB27C)]
            interface ICommonClaimedPosPrinterStation : IInspectable
            {
                [propput] HRESULT CharactersPerLine([in] UINT32 value);
                [propget] HRESULT CharactersPerLine([out] [retval] UINT32* value);
                [propput] HRESULT LineHeight([in] UINT32 value);
                [propget] HRESULT LineHeight([out] [retval] UINT32* value);
                [propput] HRESULT LineSpacing([in] UINT32 value);
                [propget] HRESULT LineSpacing([out] [retval] UINT32* value);
                [propget] HRESULT LineWidth([out] [retval] UINT32* value);
                [propput] HRESULT IsLetterQuality([in] boolean value);
                [propget] HRESULT IsLetterQuality([out] [retval] boolean* value);
                [propget] HRESULT IsPaperNearEnd([out] [retval] boolean* value);
                [propput] HRESULT ColorCartridge([in] Windows.Devices.PointOfService.PosPrinterColorCartridge value);
                [propget] HRESULT ColorCartridge([out] [retval] Windows.Devices.PointOfService.PosPrinterColorCartridge* value);
                [propget] HRESULT IsCoverOpen([out] [retval] boolean* value);
                [propget] HRESULT IsCartridgeRemoved([out] [retval] boolean* value);
                [propget] HRESULT IsCartridgeEmpty([out] [retval] boolean* value);
                [propget] HRESULT IsHeadCleaning([out] [retval] boolean* value);
                [propget] HRESULT IsPaperEmpty([out] [retval] boolean* value);
                [propget] HRESULT IsReadyToPrint([out] [retval] boolean* value);
                HRESULT ValidateData([in] HSTRING data, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(DE5B52CA-E02E-40E9-9E5E-1B488E6AACFC)]
            interface ICommonPosPrintStationCapabilities : IInspectable
            {
                [propget] HRESULT IsPrinterPresent([out] [retval] boolean* value);
                [propget] HRESULT IsDualColorSupported([out] [retval] boolean* value);
                [propget] HRESULT ColorCartridgeCapabilities([out] [retval] Windows.Devices.PointOfService.PosPrinterColorCapabilities* value);
                [propget] HRESULT CartridgeSensors([out] [retval] Windows.Devices.PointOfService.PosPrinterCartridgeSensors* value);
                [propget] HRESULT IsBoldSupported([out] [retval] boolean* value);
                [propget] HRESULT IsItalicSupported([out] [retval] boolean* value);
                [propget] HRESULT IsUnderlineSupported([out] [retval] boolean* value);
                [propget] HRESULT IsDoubleHighPrintSupported([out] [retval] boolean* value);
                [propget] HRESULT IsDoubleWidePrintSupported([out] [retval] boolean* value);
                [propget] HRESULT IsDoubleHighDoubleWidePrintSupported([out] [retval] boolean* value);
                [propget] HRESULT IsPaperEmptySensorSupported([out] [retval] boolean* value);
                [propget] HRESULT IsPaperNearEndSensorSupported([out] [retval] boolean* value);
                [propget] HRESULT SupportedCharactersPerLine([out] [retval] Windows.Foundation.Collections.IVectorView<UINT32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(09286B8B-9873-4D05-BFBE-4727A6038F69)]
            interface ICommonReceiptSlipCapabilities : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities
            {
                [propget] HRESULT IsBarcodeSupported([out] [retval] boolean* value);
                [propget] HRESULT IsBitmapSupported([out] [retval] boolean* value);
                [propget] HRESULT IsLeft90RotationSupported([out] [retval] boolean* value);
                [propget] HRESULT IsRight90RotationSupported([out] [retval] boolean* value);
                [propget] HRESULT Is180RotationSupported([out] [retval] boolean* value);
                [propget] HRESULT IsPrintAreaSupported([out] [retval] boolean* value);
                [propget] HRESULT RuledLineCapabilities([out] [retval] Windows.Devices.PointOfService.PosPrinterRuledLineCapabilities* value);
                [propget] HRESULT SupportedBarcodeRotations([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.PointOfService.PosPrinterRotation>** value);
                [propget] HRESULT SupportedBitmapRotations([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.PointOfService.PosPrinterRotation>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.JournalPrintJob)]
            [uuid(9F4F2864-F3F0-55D0-8C39-74CC91783EED)]
            interface IJournalPrintJob : IInspectable
            {
                HRESULT Print([in] HSTRING data, [in] Windows.Devices.PointOfService.PosPrinterPrintOptions* printOptions);
                HRESULT FeedPaperByLine([in] INT32 lineCount);
                HRESULT FeedPaperByMapModeUnit([in] INT32 distance);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.JournalPrinterCapabilities)]
            [uuid(3B5CCC43-E047-4463-BB58-17B5BA1D8056)]
            interface IJournalPrinterCapabilities : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.JournalPrinterCapabilities)]
            [uuid(03B0B645-33B8-533B-BAAA-A4389283AB0A)]
            interface IJournalPrinterCapabilities2 : IInspectable
            {
                [propget] HRESULT IsReverseVideoSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStrikethroughSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSuperscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSubscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByLineSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByMapModeUnitSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplay)]
            [uuid(24F5DF4E-3C99-44E2-B73F-E51BE3637A8C)]
            interface ILineDisplay : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.LineDisplayCapabilities** value);
                [propget] HRESULT PhysicalDeviceName([out] [retval] HSTRING* value);
                [propget] HRESULT PhysicalDeviceDescription([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceControlDescription([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceControlVersion([out] [retval] HSTRING* value);
                [propget] HRESULT DeviceServiceVersion([out] [retval] HSTRING* value);
                HRESULT ClaimAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedLineDisplay*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplay)]
            [uuid(C296A628-EF44-40F3-BD1C-B04C6A5CDC7D)]
            interface ILineDisplay2 : IInspectable
            {
                HRESULT CheckPowerStatusAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplayPowerStatus>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayAttributes)]
            [uuid(C17DE99C-229A-4C14-A6F1-B4E4B1FEAD92)]
            interface ILineDisplayAttributes : IInspectable
            {
                [propget] HRESULT IsPowerNotifyEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsPowerNotifyEnabled([in] boolean value);
                [propget] HRESULT Brightness([out] [retval] INT32* value);
                [propput] HRESULT Brightness([in] INT32 value);
                [propget] HRESULT BlinkRate([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT BlinkRate([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT ScreenSizeInCharacters([out] [retval] Windows.Foundation.Size* value);
                [propput] HRESULT ScreenSizeInCharacters([in] Windows.Foundation.Size value);
                [propget] HRESULT CharacterSet([out] [retval] INT32* value);
                [propput] HRESULT CharacterSet([in] INT32 value);
                [propget] HRESULT IsCharacterSetMappingEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsCharacterSetMappingEnabled([in] boolean value);
                [propget] HRESULT CurrentWindow([out] [retval] Windows.Devices.PointOfService.LineDisplayWindow** value);
                [propput] HRESULT CurrentWindow([in] Windows.Devices.PointOfService.LineDisplayWindow* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayCapabilities)]
            [uuid(5A15B5D1-8DC5-4B9C-9172-303E47B70C55)]
            interface ILineDisplayCapabilities : IInspectable
            {
                [propget] HRESULT IsStatisticsReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatisticsUpdatingSupported([out] [retval] boolean* value);
                [propget] HRESULT PowerReportingType([out] [retval] Windows.Devices.PointOfService.UnifiedPosPowerReportingType* value);
                [propget] HRESULT CanChangeScreenSize([out] [retval] boolean* value);
                [propget] HRESULT CanDisplayBitmaps([out] [retval] boolean* value);
                [propget] HRESULT CanReadCharacterAtCursor([out] [retval] boolean* value);
                [propget] HRESULT CanMapCharacterSets([out] [retval] boolean* value);
                [propget] HRESULT CanDisplayCustomGlyphs([out] [retval] boolean* value);
                [propget] HRESULT CanReverse([out] [retval] Windows.Devices.PointOfService.LineDisplayTextAttributeGranularity* value);
                [propget] HRESULT CanBlink([out] [retval] Windows.Devices.PointOfService.LineDisplayTextAttributeGranularity* value);
                [propget] HRESULT CanChangeBlinkRate([out] [retval] boolean* value);
                [propget] HRESULT IsBrightnessSupported([out] [retval] boolean* value);
                [propget] HRESULT IsCursorSupported([out] [retval] boolean* value);
                [propget] HRESULT IsHorizontalMarqueeSupported([out] [retval] boolean* value);
                [propget] HRESULT IsVerticalMarqueeSupported([out] [retval] boolean* value);
                [propget] HRESULT IsInterCharacterWaitSupported([out] [retval] boolean* value);
                [propget] HRESULT SupportedDescriptors([out] [retval] UINT32* value);
                [propget] HRESULT SupportedWindows([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayCursor)]
            [uuid(ECDFFC45-754A-4E3B-AB2B-151181085605)]
            interface ILineDisplayCursor : IInspectable
            {
                [propget] HRESULT CanCustomize([out] [retval] boolean* value);
                [propget] HRESULT IsBlinkSupported([out] [retval] boolean* value);
                [propget] HRESULT IsBlockSupported([out] [retval] boolean* value);
                [propget] HRESULT IsHalfBlockSupported([out] [retval] boolean* value);
                [propget] HRESULT IsUnderlineSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReverseSupported([out] [retval] boolean* value);
                [propget] HRESULT IsOtherSupported([out] [retval] boolean* value);
                HRESULT GetAttributes([out] [retval] Windows.Devices.PointOfService.LineDisplayCursorAttributes** result);
                HRESULT TryUpdateAttributesAsync([in] Windows.Devices.PointOfService.LineDisplayCursorAttributes* attributes, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayCursorAttributes)]
            [uuid(4E2D54FE-4FFD-4190-AAE1-CE285F20C896)]
            interface ILineDisplayCursorAttributes : IInspectable
            {
                [propget] HRESULT IsBlinkEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsBlinkEnabled([in] boolean value);
                [propget] HRESULT CursorType([out] [retval] Windows.Devices.PointOfService.LineDisplayCursorType* value);
                [propput] HRESULT CursorType([in] Windows.Devices.PointOfService.LineDisplayCursorType value);
                [propget] HRESULT IsAutoAdvanceEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsAutoAdvanceEnabled([in] boolean value);
                [propget] HRESULT Position([out] [retval] Windows.Foundation.Point* value);
                [propput] HRESULT Position([in] Windows.Foundation.Point value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayCustomGlyphs)]
            [uuid(2257F63C-F263-44F1-A1A0-E750A6A0EC54)]
            interface ILineDisplayCustomGlyphs : IInspectable
            {
                [propget] HRESULT SizeInPixels([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT SupportedGlyphCodes([out] [retval] Windows.Foundation.Collections.IVectorView<UINT32>** value);
                HRESULT TryRedefineAsync([in] UINT32 glyphCode, [in] Windows.Storage.Streams.IBuffer* glyphData, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayMarquee)]
            [uuid(A3D33E3E-F46A-4B7A-BC21-53EB3B57F8B4)]
            interface ILineDisplayMarquee : IInspectable
            {
                [propget] HRESULT Format([out] [retval] Windows.Devices.PointOfService.LineDisplayMarqueeFormat* value);
                [propput] HRESULT Format([in] Windows.Devices.PointOfService.LineDisplayMarqueeFormat value);
                [propget] HRESULT RepeatWaitInterval([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT RepeatWaitInterval([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT ScrollWaitInterval([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT ScrollWaitInterval([in] Windows.Foundation.TimeSpan value);
                HRESULT TryStartScrollingAsync([in] Windows.Devices.PointOfService.LineDisplayScrollDirection direction, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryStopScrollingAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplay)]
            [uuid(022DC0B6-11B0-4690-9547-0B39C5AF2114)]
            interface ILineDisplayStatics : IInspectable
            {
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplay*>** operation);
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.LineDisplay*>** result);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplay)]
            [uuid(600C3F1C-77AB-4968-A7DE-C02FF169F2CC)]
            interface ILineDisplayStatics2 : IInspectable
            {
                [propget] HRESULT StatisticsCategorySelector([out] [retval] Windows.Devices.PointOfService.LineDisplayStatisticsCategorySelector** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayStatisticsCategorySelector)]
            [uuid(B521C46B-9274-4D24-94F3-B6017B832444)]
            interface ILineDisplayStatisticsCategorySelector : IInspectable
            {
                [propget] HRESULT AllStatistics([out] [retval] HSTRING* value);
                [propget] HRESULT UnifiedPosStatistics([out] [retval] HSTRING* value);
                [propget] HRESULT ManufacturerStatistics([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayStatusUpdatedEventArgs)]
            [uuid(DDD57C1A-86FB-4EBA-93D1-6F5EDA52B752)]
            interface ILineDisplayStatusUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.LineDisplayPowerStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayStoredBitmap)]
            [uuid(F621515B-D81E-43BA-BF1B-BCFA3C785BA0)]
            interface ILineDisplayStoredBitmap : IInspectable
            {
                [propget] HRESULT EscapeSequence([out] [retval] HSTRING* value);
                HRESULT TryDeleteAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayWindow)]
            [uuid(D21FEEF4-2364-4BE5-BEE1-851680AF4964)]
            interface ILineDisplayWindow : IInspectable
            {
                [propget] HRESULT SizeInCharacters([out] [retval] Windows.Foundation.Size* value);
                [propget] HRESULT InterCharacterWaitInterval([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT InterCharacterWaitInterval([in] Windows.Foundation.TimeSpan value);
                HRESULT TryRefreshAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayTextAsync")] HRESULT TryDisplayTextAsync([in] HSTRING text, [in] Windows.Devices.PointOfService.LineDisplayTextAttribute displayAttribute, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayTextAsync")] HRESULT TryDisplayTextAtPositionAsync([in] HSTRING text, [in] Windows.Devices.PointOfService.LineDisplayTextAttribute displayAttribute, [in] Windows.Foundation.Point startPosition, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayTextAsync")] HRESULT TryDisplayTextNormalAsync([in] HSTRING text, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryScrollTextAsync([in] Windows.Devices.PointOfService.LineDisplayScrollDirection direction, [in] UINT32 numberOfColumnsOrRows, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryClearTextAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Devices.PointOfService.LineDisplayWindow)]
            [uuid(A95CE2E6-BDD8-4365-8E11-DE94DE8DFF02)]
            interface ILineDisplayWindow2 : IInspectable
            {
                [propget] HRESULT Cursor([out] [retval] Windows.Devices.PointOfService.LineDisplayCursor** value);
                [propget] HRESULT Marquee([out] [retval] Windows.Devices.PointOfService.LineDisplayMarquee** value);
                HRESULT ReadCharacterAtCursorAsync([out] [retval] Windows.Foundation.IAsyncOperation<UINT32>** result);
                HRESULT TryDisplayStoredBitmapAtCursorAsync([in] Windows.Devices.PointOfService.LineDisplayStoredBitmap* bitmap, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayStorageFileBitmapAtCursorAsync")] HRESULT TryDisplayStorageFileBitmapAtCursorAsync([in] Windows.Storage.StorageFile* bitmap, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayStorageFileBitmapAtCursorAsync")] HRESULT TryDisplayStorageFileBitmapAtCursorWithAlignmentAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Devices.PointOfService.LineDisplayHorizontalAlignment horizontalAlignment, [in] Windows.Devices.PointOfService.LineDisplayVerticalAlignment verticalAlignment, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayStorageFileBitmapAtCursorAsync")] HRESULT TryDisplayStorageFileBitmapAtCursorWithAlignmentAndWidthAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Devices.PointOfService.LineDisplayHorizontalAlignment horizontalAlignment, [in] Windows.Devices.PointOfService.LineDisplayVerticalAlignment verticalAlignment, [in] INT32 widthInPixels, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayStorageFileBitmapAtPointAsync")] HRESULT TryDisplayStorageFileBitmapAtPointAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Foundation.Point offsetInPixels, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("TryDisplayStorageFileBitmapAtPointAsync")] HRESULT TryDisplayStorageFileBitmapAtPointWithWidthAsync([in] Windows.Storage.StorageFile* bitmap, [in] Windows.Foundation.Point offsetInPixels, [in] INT32 widthInPixels, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReader)]
            [uuid(1A92B015-47C3-468A-9333-0C6517574883)]
            interface IMagneticStripeReader : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderCapabilities** value);
                [propget] HRESULT SupportedCardTypes([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] UINT32** value);
                [propget] HRESULT DeviceAuthenticationProtocol([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderAuthenticationProtocol* value);
                HRESULT CheckHealthAsync([in] Windows.Devices.PointOfService.UnifiedPosHealthCheckLevel level, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT ClaimReaderAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedMagneticStripeReader*>** operation);
                HRESULT RetrieveStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer*>** operation);
                HRESULT GetErrorReportingType([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderErrorReportingType* value);
                [eventadd] HRESULT StatusUpdated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.MagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderStatusUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUpdated([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderAamvaCardDataReceivedEventArgs)]
            [uuid(0A4BBD51-C316-4910-87F3-7A62BA862D31)]
            interface IMagneticStripeReaderAamvaCardDataReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Report([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderReport** value);
                [propget] HRESULT LicenseNumber([out] [retval] HSTRING* value);
                [propget] HRESULT ExpirationDate([out] [retval] HSTRING* value);
                [propget] HRESULT Restrictions([out] [retval] HSTRING* value);
                [propget] HRESULT Class([out] [retval] HSTRING* value);
                [propget] HRESULT Endorsements([out] [retval] HSTRING* value);
                [propget] HRESULT BirthDate([out] [retval] HSTRING* value);
                [propget] HRESULT FirstName([out] [retval] HSTRING* value);
                [propget] HRESULT Surname([out] [retval] HSTRING* value);
                [propget] HRESULT Suffix([out] [retval] HSTRING* value);
                [propget] HRESULT Gender([out] [retval] HSTRING* value);
                [propget] HRESULT HairColor([out] [retval] HSTRING* value);
                [propget] HRESULT EyeColor([out] [retval] HSTRING* value);
                [propget] HRESULT Height([out] [retval] HSTRING* value);
                [propget] HRESULT Weight([out] [retval] HSTRING* value);
                [propget] HRESULT Address([out] [retval] HSTRING* value);
                [propget] HRESULT City([out] [retval] HSTRING* value);
                [propget] HRESULT State([out] [retval] HSTRING* value);
                [propget] HRESULT PostalCode([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderBankCardDataReceivedEventArgs)]
            [uuid(2E958823-A31A-4763-882C-23725E39B08E)]
            interface IMagneticStripeReaderBankCardDataReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Report([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderReport** value);
                [propget] HRESULT AccountNumber([out] [retval] HSTRING* value);
                [propget] HRESULT ExpirationDate([out] [retval] HSTRING* value);
                [propget] HRESULT ServiceCode([out] [retval] HSTRING* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propget] HRESULT FirstName([out] [retval] HSTRING* value);
                [propget] HRESULT MiddleInitial([out] [retval] HSTRING* value);
                [propget] HRESULT Surname([out] [retval] HSTRING* value);
                [propget] HRESULT Suffix([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderCapabilities)]
            [uuid(7128809C-C440-44A2-A467-469175D02896)]
            interface IMagneticStripeReaderCapabilities : IInspectable
            {
                [propget] HRESULT CardAuthentication([out] [retval] HSTRING* value);
                [propget] HRESULT SupportedEncryptionAlgorithms([out] [retval] UINT32* value);
                [propget] HRESULT AuthenticationLevel([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderAuthenticationLevel* value);
                [propget] HRESULT IsIsoSupported([out] [retval] boolean* value);
                [propget] HRESULT IsJisOneSupported([out] [retval] boolean* value);
                [propget] HRESULT IsJisTwoSupported([out] [retval] boolean* value);
                [propget] HRESULT PowerReportingType([out] [retval] Windows.Devices.PointOfService.UnifiedPosPowerReportingType* value);
                [propget] HRESULT IsStatisticsReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatisticsUpdatingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsTrackDataMaskingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsTransmitSentinelsSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderCardTypes)]
            [uuid(528F2C5D-2986-474F-8454-7CCD05928D5F)]
            interface IMagneticStripeReaderCardTypesStatics : IInspectable
            {
                [propget] HRESULT Unknown([out] [retval] UINT32* value);
                [propget] HRESULT Bank([out] [retval] UINT32* value);
                [propget] HRESULT Aamva([out] [retval] UINT32* value);
                [propget] HRESULT ExtendedBase([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderEncryptionAlgorithms)]
            [uuid(53B57350-C3DB-4754-9C00-41392374A109)]
            interface IMagneticStripeReaderEncryptionAlgorithmsStatics : IInspectable
            {
                [propget] HRESULT None([out] [retval] UINT32* value);
                [propget] HRESULT TripleDesDukpt([out] [retval] UINT32* value);
                [propget] HRESULT ExtendedBase([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderErrorOccurredEventArgs)]
            [uuid(1FEDF95D-2C84-41AD-B778-F2356A789AB1)]
            interface IMagneticStripeReaderErrorOccurredEventArgs : IInspectable
            {
                [propget] HRESULT Track1Status([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackErrorType* value);
                [propget] HRESULT Track2Status([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackErrorType* value);
                [propget] HRESULT Track3Status([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackErrorType* value);
                [propget] HRESULT Track4Status([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackErrorType* value);
                [propget] HRESULT ErrorData([out] [retval] Windows.Devices.PointOfService.UnifiedPosErrorData** value);
                [propget] HRESULT PartialInputData([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderReport** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderReport)]
            [uuid(6A5B6047-99B0-4188-BEF1-EDDF79F78FE6)]
            interface IMagneticStripeReaderReport : IInspectable
            {
                [propget] HRESULT CardType([out] [retval] UINT32* value);
                [propget] HRESULT Track1([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackData** value);
                [propget] HRESULT Track2([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackData** value);
                [propget] HRESULT Track3([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackData** value);
                [propget] HRESULT Track4([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderTrackData** value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, HSTRING>** value);
                [propget] HRESULT CardAuthenticationData([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT CardAuthenticationDataLength([out] [retval] UINT32* value);
                [propget] HRESULT AdditionalSecurityInformation([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReader)]
            [uuid(C45FAB4A-EFD7-4760-A5CE-15B0E47E94EB)]
            interface IMagneticStripeReaderStatics : IInspectable
            {
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.MagneticStripeReader*>** result);
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.MagneticStripeReader*>** result);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReader)]
            [uuid(8CADC362-D667-48FA-86BC-F5AE1189262B)]
            interface IMagneticStripeReaderStatics2 : IInspectable
            {
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderStatusUpdatedEventArgs)]
            [uuid(09CC6BB0-3262-401D-9E8A-E80D6358906B)]
            interface IMagneticStripeReaderStatusUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderStatus* value);
                [propget] HRESULT ExtendedStatus([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderTrackData)]
            [uuid(104CF671-4A9D-446E-ABC5-20402307BA36)]
            interface IMagneticStripeReaderTrackData : IInspectable
            {
                [propget] HRESULT Data([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT DiscretionaryData([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT EncryptedData([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs)]
            [uuid(AF0A5514-59CC-4A60-99E8-99A53DACE5AA)]
            interface IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Report([out] [retval] Windows.Devices.PointOfService.MagneticStripeReaderReport** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(2A03C10E-9A19-4A01-994F-12DFAD6ADCBF)]
            interface IPosPrinter : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Capabilities([out] [retval] Windows.Devices.PointOfService.PosPrinterCapabilities** value);
                [propget] HRESULT SupportedCharacterSets([out] [retval] Windows.Foundation.Collections.IVectorView<UINT32>** value);
                [propget] HRESULT SupportedTypeFaces([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.PosPrinterStatus** value);
                HRESULT ClaimPrinterAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.ClaimedPosPrinter*>** operation);
                HRESULT CheckHealthAsync([in] Windows.Devices.PointOfService.UnifiedPosHealthCheckLevel level, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetStatisticsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* statisticsCategories, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                [eventadd] HRESULT StatusUpdated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.PointOfService.PosPrinter*, Windows.Devices.PointOfService.PosPrinterStatusUpdatedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusUpdated([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(248475E8-8B98-5517-8E48-760E86F68987)]
            interface IPosPrinter2 : IInspectable
            {
                [propget] HRESULT SupportedBarcodeSymbologies([out] [retval] Windows.Foundation.Collections.IVectorView<UINT32>** value);
                HRESULT GetFontProperty([in] HSTRING typeface, [out] [retval] Windows.Devices.PointOfService.PosPrinterFontProperty** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterCapabilities)]
            [uuid(CDE95721-4380-4985-ADC5-39DB30CD93BC)]
            interface IPosPrinterCapabilities : IInspectable
            {
                [propget] HRESULT PowerReportingType([out] [retval] Windows.Devices.PointOfService.UnifiedPosPowerReportingType* value);
                [propget] HRESULT IsStatisticsReportingSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStatisticsUpdatingSupported([out] [retval] boolean* value);
                [propget] HRESULT DefaultCharacterSet([out] [retval] UINT32* value);
                [propget] HRESULT HasCoverSensor([out] [retval] boolean* value);
                [propget] HRESULT CanMapCharacterSet([out] [retval] boolean* value);
                [propget] HRESULT IsTransactionSupported([out] [retval] boolean* value);
                [propget] HRESULT Receipt([out] [retval] Windows.Devices.PointOfService.ReceiptPrinterCapabilities** value);
                [propget] HRESULT Slip([out] [retval] Windows.Devices.PointOfService.SlipPrinterCapabilities** value);
                [propget] HRESULT Journal([out] [retval] Windows.Devices.PointOfService.JournalPrinterCapabilities** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterCharacterSetIds)]
            [uuid(5C709EFF-709A-4FE7-B215-06A748A38B39)]
            interface IPosPrinterCharacterSetIdsStatics : IInspectable
            {
                [propget] HRESULT Utf16LE([out] [retval] UINT32* value);
                [propget] HRESULT Ascii([out] [retval] UINT32* value);
                [propget] HRESULT Ansi([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterFontProperty)]
            [uuid(A7F4E93A-F8AC-5F04-84D2-29B16D8A633C)]
            interface IPosPrinterFontProperty : IInspectable
            {
                [propget] HRESULT TypeFace([out] [retval] HSTRING* value);
                [propget] HRESULT IsScalableToAnySize([out] [retval] boolean* value);
                [propget] HRESULT CharacterSizes([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.PointOfService.SizeUInt32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(9A94005C-0615-4591-A58F-30F87EDFE2E4)]
            interface IPosPrinterJob : IInspectable
            {
                HRESULT Print([in] HSTRING data);
                [overload("PrintLine")] HRESULT PrintLine([in] HSTRING data);
                [overload("PrintLine")] HRESULT PrintNewline();
                HRESULT ExecuteAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterPrintOptions)]
            [uuid(0A2E16FD-1D02-5A58-9D59-BFCDE76FDE86)]
            interface IPosPrinterPrintOptions : IInspectable
            {
                [propget] HRESULT TypeFace([out] [retval] HSTRING* value);
                [propput] HRESULT TypeFace([in] HSTRING value);
                [propget] HRESULT CharacterHeight([out] [retval] UINT32* value);
                [propput] HRESULT CharacterHeight([in] UINT32 value);
                [propget] HRESULT Bold([out] [retval] boolean* value);
                [propput] HRESULT Bold([in] boolean value);
                [propget] HRESULT Italic([out] [retval] boolean* value);
                [propput] HRESULT Italic([in] boolean value);
                [propget] HRESULT Underline([out] [retval] boolean* value);
                [propput] HRESULT Underline([in] boolean value);
                [propget] HRESULT ReverseVideo([out] [retval] boolean* value);
                [propput] HRESULT ReverseVideo([in] boolean value);
                [propget] HRESULT Strikethrough([out] [retval] boolean* value);
                [propput] HRESULT Strikethrough([in] boolean value);
                [propget] HRESULT Superscript([out] [retval] boolean* value);
                [propput] HRESULT Superscript([in] boolean value);
                [propget] HRESULT Subscript([out] [retval] boolean* value);
                [propput] HRESULT Subscript([in] boolean value);
                [propget] HRESULT DoubleWide([out] [retval] boolean* value);
                [propput] HRESULT DoubleWide([in] boolean value);
                [propget] HRESULT DoubleHigh([out] [retval] boolean* value);
                [propput] HRESULT DoubleHigh([in] boolean value);
                [propget] HRESULT Alignment([out] [retval] Windows.Devices.PointOfService.PosPrinterAlignment* value);
                [propput] HRESULT Alignment([in] Windows.Devices.PointOfService.PosPrinterAlignment value);
                [propget] HRESULT CharacterSet([out] [retval] UINT32* value);
                [propput] HRESULT CharacterSet([in] UINT32 value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterReleaseDeviceRequestedEventArgs)]
            [uuid(2BCBA359-1CEF-40B2-9ECB-F927F856AE3C)]
            interface IPosPrinterReleaseDeviceRequestedEventArgs : IInspectable
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(8CE0D4EA-132F-4CDF-A64A-2D0D7C96A85B)]
            interface IPosPrinterStatics : IInspectable
            {
                HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.PosPrinter*>** result);
                HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.PointOfService.PosPrinter*>** result);
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(EECD2C1C-B0D0-42E7-B137-B89B16244D41)]
            interface IPosPrinterStatics2 : IInspectable
            {
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorWithConnectionTypes([in] Windows.Devices.PointOfService.PosConnectionTypes connectionTypes, [out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterStatus)]
            [uuid(D1F0C730-DA40-4328-BF76-5156FA33B747)]
            interface IPosPrinterStatus : IInspectable
            {
                [propget] HRESULT StatusKind([out] [retval] Windows.Devices.PointOfService.PosPrinterStatusKind* value);
                [propget] HRESULT ExtendedStatus([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.PosPrinterStatusUpdatedEventArgs)]
            [uuid(2EDB87DF-13A6-428D-BA81-B0E7C3E5A3CD)]
            interface IPosPrinterStatusUpdatedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Devices.PointOfService.PosPrinterStatus** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(532199BE-C8C3-4DC2-89E9-5C4A37B34DDC)]
            interface IReceiptOrSlipJob : IInspectable
                requires
                    Windows.Devices.PointOfService.IPosPrinterJob
            {
                HRESULT SetBarcodeRotation([in] Windows.Devices.PointOfService.PosPrinterRotation value);
                HRESULT SetPrintRotation([in] Windows.Devices.PointOfService.PosPrinterRotation value, [in] boolean includeBitmaps);
                HRESULT SetPrintArea([in] Windows.Foundation.Rect value);
                [overload("SetBitmap")] HRESULT SetBitmap([in] UINT32 bitmapNumber, [in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] Windows.Devices.PointOfService.PosPrinterAlignment alignment);
                [overload("SetBitmap")] HRESULT SetBitmapCustomWidthStandardAlign([in] UINT32 bitmapNumber, [in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] Windows.Devices.PointOfService.PosPrinterAlignment alignment, [in] UINT32 width);
                [overload("SetCustomAlignedBitmap")] HRESULT SetCustomAlignedBitmap([in] UINT32 bitmapNumber, [in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] UINT32 alignmentDistance);
                [overload("SetCustomAlignedBitmap")] HRESULT SetBitmapCustomWidthCustomAlign([in] UINT32 bitmapNumber, [in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] UINT32 alignmentDistance, [in] UINT32 width);
                HRESULT PrintSavedBitmap([in] UINT32 bitmapNumber);
                HRESULT DrawRuledLine([in] HSTRING positionList, [in] Windows.Devices.PointOfService.PosPrinterLineDirection lineDirection, [in] UINT32 lineWidth, [in] Windows.Devices.PointOfService.PosPrinterLineStyle lineStyle, [in] UINT32 lineColor);
                HRESULT PrintBarcode([in] HSTRING data, [in] UINT32 symbology, [in] UINT32 height, [in] UINT32 width, [in] Windows.Devices.PointOfService.PosPrinterBarcodeTextPosition textPosition, [in] Windows.Devices.PointOfService.PosPrinterAlignment alignment);
                HRESULT PrintBarcodeCustomAlign([in] HSTRING data, [in] UINT32 symbology, [in] UINT32 height, [in] UINT32 width, [in] Windows.Devices.PointOfService.PosPrinterBarcodeTextPosition textPosition, [in] UINT32 alignmentDistance);
                [overload("PrintBitmap")] HRESULT PrintBitmap([in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] Windows.Devices.PointOfService.PosPrinterAlignment alignment);
                [overload("PrintBitmap")] HRESULT PrintBitmapCustomWidthStandardAlign([in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] Windows.Devices.PointOfService.PosPrinterAlignment alignment, [in] UINT32 width);
                [overload("PrintCustomAlignedBitmap")] HRESULT PrintCustomAlignedBitmap([in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] UINT32 alignmentDistance);
                [overload("PrintCustomAlignedBitmap")] HRESULT PrintBitmapCustomWidthCustomAlign([in] Windows.Graphics.Imaging.BitmapFrame* bitmap, [in] UINT32 alignmentDistance, [in] UINT32 width);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ReceiptPrintJob)]
            [uuid(AA96066E-ACAD-4B79-9D0F-C0CFC08DC77B)]
            interface IReceiptPrintJob : IInspectable
            {
                HRESULT MarkFeed([in] Windows.Devices.PointOfService.PosPrinterMarkFeedKind kind);
                [overload("CutPaper")] HRESULT CutPaper([in] DOUBLE percentage);
                [overload("CutPaper")] HRESULT CutPaperDefault();
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.ReceiptPrintJob)]
            [uuid(0CBC12E3-9E29-5179-BCD8-1811D3B9A10E)]
            interface IReceiptPrintJob2 : IInspectable
            {
                HRESULT StampPaper();
                HRESULT Print([in] HSTRING data, [in] Windows.Devices.PointOfService.PosPrinterPrintOptions* printOptions);
                HRESULT FeedPaperByLine([in] INT32 lineCount);
                HRESULT FeedPaperByMapModeUnit([in] INT32 distance);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.ReceiptPrinterCapabilities)]
            [uuid(B8F0B58F-51A8-43FC-9BD5-8DE272A6415B)]
            interface IReceiptPrinterCapabilities : IInspectable
            {
                [propget] HRESULT CanCutPaper([out] [retval] boolean* value);
                [propget] HRESULT IsStampSupported([out] [retval] boolean* value);
                [propget] HRESULT MarkFeedCapabilities([out] [retval] Windows.Devices.PointOfService.PosPrinterMarkFeedCapabilities* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.ReceiptPrinterCapabilities)]
            [uuid(20030638-8A2C-55AC-9A7B-7576D8869E99)]
            interface IReceiptPrinterCapabilities2 : IInspectable
            {
                [propget] HRESULT IsReverseVideoSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStrikethroughSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSuperscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSubscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByLineSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByMapModeUnitSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.SlipPrintJob)]
            [uuid(5D88F95D-6131-5A4B-B7D5-8EF2DA7B4165)]
            interface ISlipPrintJob : IInspectable
            {
                HRESULT Print([in] HSTRING data, [in] Windows.Devices.PointOfService.PosPrinterPrintOptions* printOptions);
                HRESULT FeedPaperByLine([in] INT32 lineCount);
                HRESULT FeedPaperByMapModeUnit([in] INT32 distance);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.SlipPrinterCapabilities)]
            [uuid(99B16399-488C-4157-8AC2-9F57F708D3DB)]
            interface ISlipPrinterCapabilities : IInspectable
            {
                [propget] HRESULT IsFullLengthSupported([out] [retval] boolean* value);
                [propget] HRESULT IsBothSidesPrintingSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [exclusiveto(Windows.Devices.PointOfService.SlipPrinterCapabilities)]
            [uuid(6FF89671-2D1A-5000-87C2-B0851BFDF07E)]
            interface ISlipPrinterCapabilities2 : IInspectable
            {
                [propget] HRESULT IsReverseVideoSupported([out] [retval] boolean* value);
                [propget] HRESULT IsStrikethroughSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSuperscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsSubscriptSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByLineSupported([out] [retval] boolean* value);
                [propget] HRESULT IsReversePaperFeedByMapModeUnitSupported([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.PointOfService.UnifiedPosErrorData)]
            [uuid(2B998C3A-555C-4889-8ED8-C599BB3A712A)]
            interface IUnifiedPosErrorData : IInspectable
            {
                [propget] HRESULT Message([out] [retval] HSTRING* value);
                [propget] HRESULT Severity([out] [retval] Windows.Devices.PointOfService.UnifiedPosErrorSeverity* value);
                [propget] HRESULT Reason([out] [retval] Windows.Devices.PointOfService.UnifiedPosErrorReason* value);
                [propget] HRESULT ExtendedReason([out] [retval] UINT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Devices.PointOfService.UnifiedPosErrorData)]
            [uuid(4B982551-1FFE-451B-A368-63E0CE465F5A)]
            interface IUnifiedPosErrorDataFactory : IInspectable
            {
                HRESULT CreateInstance([in] HSTRING message, [in] Windows.Devices.PointOfService.UnifiedPosErrorSeverity severity, [in] Windows.Devices.PointOfService.UnifiedPosErrorReason reason, [in] UINT32 extendedReason, [out] [retval] Windows.Devices.PointOfService.UnifiedPosErrorData** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IBarcodeScannerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.PointOfService.IBarcodeScannerStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass BarcodeScanner
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScanner;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Devices.PointOfService.IBarcodeScanner2;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeScannerCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerCapabilities;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.PointOfService.IBarcodeScannerCapabilities1;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IBarcodeScannerCapabilities2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeScannerDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerDataReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeScannerErrorOccurredEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerErrorOccurredEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeScannerImagePreviewReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerImagePreviewReceivedEventArgs;
            }

            [activatable(Windows.Devices.PointOfService.IBarcodeScannerReportFactory, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass BarcodeScannerReport
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerReport;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeScannerStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerStatusUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IBarcodeSymbologiesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.PointOfService.IBarcodeSymbologiesStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass BarcodeSymbologies
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass BarcodeSymbologyAttributes
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeSymbologyAttributes;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.ICashDrawerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.PointOfService.ICashDrawerStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass CashDrawer
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawer;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerCapabilities
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerCloseAlarm
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerCloseAlarm;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSourceEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerEventSource
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSource;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerOpenedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSourceEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerStatus
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerStatus;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CashDrawerStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerStatusUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedBarcodeScanner
            {
                [default] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner1;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner3;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner4;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedBarcodeScannerClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IClaimedBarcodeScannerClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedCashDrawer
            {
                [default] interface Windows.Devices.PointOfService.IClaimedCashDrawer;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IClaimedCashDrawer2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedCashDrawerClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IClaimedCashDrawerClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedJournalPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedJournalPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IClaimedLineDisplayStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass ClaimedLineDisplay
            {
                [default] interface Windows.Devices.PointOfService.IClaimedLineDisplay;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Devices.PointOfService.IClaimedLineDisplay2;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IClaimedLineDisplay3;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedLineDisplayClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IClaimedLineDisplayClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedMagneticStripeReader
            {
                [default] interface Windows.Devices.PointOfService.IClaimedMagneticStripeReader;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IClaimedMagneticStripeReader2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedMagneticStripeReaderClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IClaimedMagneticStripeReaderClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedPosPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedPosPrinter;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Devices.PointOfService.IClaimedPosPrinter2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedPosPrinterClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IClaimedPosPrinterClosedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedReceiptPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedReceiptPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ClaimedSlipPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedSlipPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass JournalPrintJob
            {
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.IJournalPrintJob;
                [default] interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass JournalPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IJournalPrinterCapabilities;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.IJournalPrinterCapabilities2;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.ILineDisplayStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            [static(Windows.Devices.PointOfService.ILineDisplayStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
            [threading(both)]
            runtimeclass LineDisplay
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplay;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Devices.PointOfService.ILineDisplay2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayAttributes
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayAttributes;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayCapabilities
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayCursor
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayCursor;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayCursorAttributes
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayCursorAttributes;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayCustomGlyphs
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayCustomGlyphs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayMarquee
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayMarquee;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayStatisticsCategorySelector
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayStatisticsCategorySelector;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayStatusUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayStoredBitmap
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayStoredBitmap;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            runtimeclass LineDisplayWindow
            {
                [default] interface Windows.Devices.PointOfService.ILineDisplayWindow;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Devices.PointOfService.ILineDisplayWindow2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass MagneticStripeReader
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReader;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderAamvaCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderAamvaCardDataReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderBankCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderBankCardDataReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderCardTypesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass MagneticStripeReaderCardTypes
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderEncryptionAlgorithmsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass MagneticStripeReaderEncryptionAlgorithms
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderErrorOccurredEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderErrorOccurredEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderReport
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderReport;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderStatusUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderTrackData
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderTrackData;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IPosPrinterStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.PointOfService.IPosPrinterStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
            [threading(both)]
            runtimeclass PosPrinter
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinter;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.IPosPrinter2;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PosPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IPosPrinterCharacterSetIdsStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass PosPrinterCharacterSetIds
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            runtimeclass PosPrinterFontProperty
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterFontProperty;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 8.0)]
            [contract(Windows.Foundation.UniversalApiContract, 8.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PosPrinterPrintOptions
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterPrintOptions;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PosPrinterReleaseDeviceRequestedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterReleaseDeviceRequestedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PosPrinterStatus
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterStatus;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PosPrinterStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterStatusUpdatedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ReceiptPrintJob
            {
                [default] interface Windows.Devices.PointOfService.IReceiptPrintJob;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.IReceiptPrintJob2;
                interface Windows.Devices.PointOfService.IReceiptOrSlipJob;
                interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ReceiptPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IReceiptPrinterCapabilities;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.IReceiptPrinterCapabilities2;
                interface Windows.Devices.PointOfService.ICommonReceiptSlipCapabilities;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SlipPrintJob
            {
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.ISlipPrintJob;
                [default] interface Windows.Devices.PointOfService.IReceiptOrSlipJob;
                interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SlipPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.ISlipPrinterCapabilities;
                [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.Devices.PointOfService.ISlipPrinterCapabilities2;
                interface Windows.Devices.PointOfService.ICommonReceiptSlipCapabilities;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [activatable(Windows.Devices.PointOfService.IUnifiedPosErrorDataFactory, Windows.Foundation.UniversalApiContract, 6.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass UnifiedPosErrorData
            {
                [default] interface Windows.Devices.PointOfService.IUnifiedPosErrorData;
            }
        }
    }
}
