//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0014
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Storage.Streams.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Egraphics2Eimaging_h__)")
cpp_quote("#include <Windows.Graphics.Imaging.h>")
cpp_quote("#endif // !defined(__windows2Egraphics2Eimaging_h__)")
cpp_quote("#if !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#include <Windows.Storage.Streams.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

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

        interface IClosable;

        typedef struct Rect Rect;

        typedef struct Size Size;

        typedef struct TimeSpan TimeSpan;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            runtimeclass BitmapFrame;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

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

            typedef enum UnifiedPosPowerReportingType UnifiedPosPowerReportingType;

            typedef enum UnifiedPosHealthCheckLevel UnifiedPosHealthCheckLevel;

            typedef enum UnifiedPosErrorReason UnifiedPosErrorReason;

            typedef enum MagneticStripeReaderAuthenticationLevel MagneticStripeReaderAuthenticationLevel;

            typedef enum PosPrinterMapMode PosPrinterMapMode;

            typedef enum PosPrinterCartridgeSensors PosPrinterCartridgeSensors;

            typedef enum PosPrinterColorCapabilities PosPrinterColorCapabilities;

            typedef enum PosPrinterColorCartridge PosPrinterColorCartridge;

            typedef enum PosPrinterMarkFeedCapabilities PosPrinterMarkFeedCapabilities;

            typedef enum PosPrinterRuledLineCapabilities PosPrinterRuledLineCapabilities;

            typedef enum PosPrinterPrintSide PosPrinterPrintSide;

            typedef enum PosPrinterLineDirection PosPrinterLineDirection;

            typedef enum PosPrinterLineStyle PosPrinterLineStyle;

            typedef enum PosPrinterMarkFeedKind PosPrinterMarkFeedKind;

            typedef enum PosPrinterAlignment PosPrinterAlignment;

            typedef enum PosPrinterBarcodeTextPosition PosPrinterBarcodeTextPosition;

            typedef enum PosPrinterRotation PosPrinterRotation;

            typedef enum PosPrinterStatusKind PosPrinterStatusKind;

            typedef enum CashDrawerStatusKind CashDrawerStatusKind;

            typedef enum BarcodeScannerStatus BarcodeScannerStatus;

            typedef enum MagneticStripeReaderStatus MagneticStripeReaderStatus;

            typedef enum MagneticStripeReaderAuthenticationProtocol MagneticStripeReaderAuthenticationProtocol;

            typedef enum MagneticStripeReaderTrackIds MagneticStripeReaderTrackIds;

            typedef enum MagneticStripeReaderErrorReportingType MagneticStripeReaderErrorReportingType;

            typedef enum MagneticStripeReaderTrackErrorType MagneticStripeReaderTrackErrorType;

            interface IUnifiedPosErrorData;

            interface IBarcodeScannerStatusUpdatedEventArgs;

            interface IBarcodeSymbologiesStatics;

            interface IBarcodeScannerDataReceivedEventArgs;

            interface IBarcodeScannerReport;

            interface IBarcodeScannerErrorOccurredEventArgs;

            interface IBarcodeScannerImagePreviewReceivedEventArgs;

            interface IBarcodeScannerCapabilities;

            interface IBarcodeScannerCapabilities1;

            interface IBarcodeScannerStatics;

            interface IBarcodeScanner;

            interface IMagneticStripeReaderEncryptionAlgorithmsStatics;

            interface IMagneticStripeReaderCardTypesStatics;

            interface IMagneticStripeReaderTrackData;

            interface IMagneticStripeReaderReport;

            interface IMagneticStripeReaderBankCardDataReceivedEventArgs;

            interface IMagneticStripeReaderAamvaCardDataReceivedEventArgs;

            interface IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;

            interface IMagneticStripeReaderErrorOccurredEventArgs;

            interface IMagneticStripeReaderStatusUpdatedEventArgs;

            interface IMagneticStripeReaderCapabilities;

            interface IMagneticStripeReaderStatics;

            interface IMagneticStripeReader;

            interface IPosPrinterCharacterSetIdsStatics;

            interface ICommonPosPrintStationCapabilities;

            interface ICommonReceiptSlipCapabilities;

            interface IReceiptPrinterCapabilities;

            interface ISlipPrinterCapabilities;

            interface IJournalPrinterCapabilities;

            interface IPosPrinterCapabilities;

            interface IPosPrinterStatus;

            interface IPosPrinterStatusUpdatedEventArgs;

            interface IPosPrinterReleaseDeviceRequestedEventArgs;

            interface IPosPrinterStatics;

            interface IPosPrinter;

            interface IPosPrinterJob;

            interface IReceiptOrSlipJob;

            interface IReceiptPrintJob;

            interface ICommonClaimedPosPrinterStation;

            interface IClaimedReceiptPrinter;

            interface IClaimedSlipPrinter;

            interface IClaimedJournalPrinter;

            interface ICashDrawerStatusUpdatedEventArgs;

            interface ICashDrawerStatus;

            interface ICashDrawerCapabilities;

            interface ICashDrawerEventSourceEventArgs;

            interface ICashDrawerEventSource;

            interface ICashDrawerStatics;

            interface ICashDrawer;

            interface ICashDrawerCloseAlarm;

            interface IClaimedBarcodeScanner;

            interface IClaimedBarcodeScanner1;

            interface IClaimedMagneticStripeReader;

            interface IClaimedPosPrinter;

            interface IClaimedCashDrawer;

            runtimeclass UnifiedPosErrorData;

            runtimeclass BarcodeScannerStatusUpdatedEventArgs;

            runtimeclass BarcodeSymbologies;

            runtimeclass BarcodeScannerReport;

            runtimeclass BarcodeScannerDataReceivedEventArgs;

            runtimeclass BarcodeScannerErrorOccurredEventArgs;

            runtimeclass BarcodeScannerImagePreviewReceivedEventArgs;

            runtimeclass BarcodeScannerCapabilities;

            runtimeclass BarcodeScanner;

            runtimeclass ClaimedBarcodeScanner;

            runtimeclass MagneticStripeReaderEncryptionAlgorithms;

            runtimeclass MagneticStripeReaderCardTypes;

            runtimeclass MagneticStripeReaderTrackData;

            runtimeclass MagneticStripeReaderReport;

            runtimeclass MagneticStripeReaderBankCardDataReceivedEventArgs;

            runtimeclass MagneticStripeReaderAamvaCardDataReceivedEventArgs;

            runtimeclass MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;

            runtimeclass MagneticStripeReaderErrorOccurredEventArgs;

            runtimeclass MagneticStripeReaderStatusUpdatedEventArgs;

            runtimeclass MagneticStripeReaderCapabilities;

            runtimeclass ClaimedMagneticStripeReader;

            runtimeclass MagneticStripeReader;

            runtimeclass PosPrinterCharacterSetIds;

            runtimeclass ReceiptPrinterCapabilities;

            runtimeclass SlipPrinterCapabilities;

            runtimeclass JournalPrinterCapabilities;

            runtimeclass PosPrinterCapabilities;

            runtimeclass PosPrinterStatus;

            runtimeclass PosPrinterStatusUpdatedEventArgs;

            runtimeclass PosPrinterReleaseDeviceRequestedEventArgs;

            runtimeclass PosPrinter;

            runtimeclass ClaimedPosPrinter;

            runtimeclass ReceiptPrintJob;

            runtimeclass SlipPrintJob;

            runtimeclass JournalPrintJob;

            runtimeclass ClaimedReceiptPrinter;

            runtimeclass ClaimedSlipPrinter;

            runtimeclass ClaimedJournalPrinter;

            runtimeclass CashDrawerStatus;

            runtimeclass CashDrawerStatusUpdatedEventArgs;

            runtimeclass CashDrawerCapabilities;

            runtimeclass CashDrawer;

            runtimeclass CashDrawerClosedEventArgs;

            runtimeclass CashDrawerOpenedEventArgs;

            runtimeclass CashDrawerEventSource;

            runtimeclass ClaimedCashDrawer;

            runtimeclass CashDrawerCloseAlarm;
        }
    }
}

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

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

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

                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.CashDrawer*>;

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

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

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

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

                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.ClaimedCashDrawer*, IInspectable*>;

                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.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
        {
            [version(0x06030000)]
            enum UnifiedPosErrorSeverity
            {
                UnknownErrorSeverity = 0,
                Warning              = 1,
                Recoverable          = 2,
                Unrecoverable        = 3,
                AssistanceRequired   = 4,
                Fatal                = 5
            };

            [version(0x06030000)]
            enum UnifiedPosPowerReportingType
            {
                UnknownPowerReportingType = 0,
                Standard                  = 1,
                Advanced                  = 2
            };

            [version(0x06030000)]
            enum UnifiedPosHealthCheckLevel
            {
                UnknownHealthCheckLevel = 0,
                POSInternal             = 1,
                External                = 2,
                Interactive             = 3
            };

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

            [version(0x06030000)]
            enum MagneticStripeReaderAuthenticationLevel
            {
                NotSupported = 0,
                Optional     = 1,
                Required     = 2
            };

            [version(0x0A000000)]
            enum PosPrinterMapMode
            {
                Dots    = 0,
                Twips   = 1,
                English = 2,
                Metric  = 3
            };

            [flags]
            [version(0x0A000000)]
            enum PosPrinterCartridgeSensors
            {
                None         = 0x0,
                Removed      = 0x1,
                Empty        = 0x2,
                HeadCleaning = 0x4,
                NearEnd      = 0x8
            };

            [flags]
            [version(0x0A000000)]
            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
            };

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

            [flags]
            [version(0x0A000000)]
            enum PosPrinterMarkFeedCapabilities
            {
                None               = 0x0,
                ToTakeUp           = 0x1,
                ToCutter           = 0x2,
                ToCurrentTopOfForm = 0x4,
                ToNextTopOfForm    = 0x8
            };

            [flags]
            [version(0x0A000000)]
            enum PosPrinterRuledLineCapabilities
            {
                None       = 0x0,
                Horizontal = 0x1,
                Vertical   = 0x2
            };

            [version(0x0A000000)]
            enum PosPrinterPrintSide
            {
                Unknown = 0,
                Side1   = 1,
                Side2   = 2
            };

            [version(0x0A000000)]
            enum PosPrinterLineDirection
            {
                Horizontal = 0,
                Vertical   = 1
            };

            [version(0x0A000000)]
            enum PosPrinterLineStyle
            {
                SingleSolid = 0,
                DoubleSolid = 1,
                Broken      = 2,
                Chain       = 3
            };

            [version(0x0A000000)]
            enum PosPrinterMarkFeedKind
            {
                ToTakeUp           = 0,
                ToCutter           = 1,
                ToCurrentTopOfForm = 2,
                ToNextTopOfForm    = 3
            };

            [version(0x0A000000)]
            enum PosPrinterAlignment
            {
                Left   = 0,
                Center = 1,
                Right  = 2
            };

            [version(0x0A000000)]
            enum PosPrinterBarcodeTextPosition
            {
                None  = 0,
                Above = 1,
                Below = 2
            };

            [version(0x0A000000)]
            enum PosPrinterRotation
            {
                Normal    = 0,
                Right90   = 1,
                Left90    = 2,
                Rotate180 = 3
            };

            [version(0x0A000000)]
            enum PosPrinterStatusKind
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [version(0x0A000000)]
            enum CashDrawerStatusKind
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [version(0x06030000)]
            enum BarcodeScannerStatus
            {
                Online       = 0,
                Off          = 1,
                Offline      = 2,
                OffOrOffline = 3,
                Extended     = 4
            };

            [version(0x06030000)]
            enum MagneticStripeReaderStatus
            {
                Unauthenticated = 0,
                Authenticated   = 1,
                Extended        = 2
            };

            [version(0x06030000)]
            enum MagneticStripeReaderAuthenticationProtocol
            {
                None              = 0,
                ChallengeResponse = 1
            };

            [version(0x06030000)]
            enum MagneticStripeReaderTrackIds
            {
                None   = 0,
                Track1 = 1,
                Track2 = 2,
                Track3 = 4,
                Track4 = 8
            };

            [version(0x06030000)]
            enum MagneticStripeReaderErrorReportingType
            {
                CardLevel  = 0,
                TrackLevel = 1
            };

            [version(0x06030000)]
            enum MagneticStripeReaderTrackErrorType
            {
                None               = 0,
                StartSentinelError = 1,
                EndSentinelError   = 2,
                ParityError        = 3,
                LrcError           = 4,
                Unknown            = -1
            };

            [exclusiveto(Windows.Devices.PointOfService.UnifiedPosErrorData)]
            [uuid(2B998C3A-555C-4889-8ED8-C599BB3A712A)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.BarcodeSymbologies)]
            [uuid(CA8549BB-06D2-43F4-A44B-C620679FD8D0)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerReport)]
            [uuid(5CE4D8B0-A489-4B96-86C4-F0BF8A37753D)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerErrorOccurredEventArgs)]
            [uuid(2CD2602F-CF3A-4002-A75A-C5EC468F0A20)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerImagePreviewReceivedEventArgs)]
            [uuid(F3B7DE85-6E8B-434E-9F58-06EF26BC4BAF)]
            [version(0x06030000)]
            interface IBarcodeScannerImagePreviewReceivedEventArgs : IInspectable
            {
                [propget] HRESULT Preview([out] [retval] Windows.Storage.Streams.IRandomAccessStreamWithContentType** preview);
            }

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScannerCapabilities)]
            [uuid(C60691E4-F2C8-4420-A307-B12EF6622857)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(5D115F6F-DA49-41E8-8C8C-F0CB62A9C4FC)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.BarcodeScanner)]
            [uuid(BEA33E06-B264-4F03-A9C1-45B20F01134F)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderCardTypes)]
            [uuid(528F2C5D-2986-474F-8454-7CCD05928D5F)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderTrackData)]
            [uuid(104CF671-4A9D-446E-ABC5-20402307BA36)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderReport)]
            [uuid(6A5B6047-99B0-4188-BEF1-EDDF79F78FE6)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderBankCardDataReceivedEventArgs)]
            [uuid(2E958823-A31A-4763-882C-23725E39B08E)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderAamvaCardDataReceivedEventArgs)]
            [uuid(0A4BBD51-C316-4910-87F3-7A62BA862D31)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderErrorOccurredEventArgs)]
            [uuid(1FEDF95D-2C84-41AD-B778-F2356A789AB1)]
            [version(0x06030000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReaderCapabilities)]
            [uuid(7128809C-C440-44A2-A467-469175D02896)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReader)]
            [uuid(C45FAB4A-EFD7-4760-A5CE-15B0E47E94EB)]
            [version(0x06030000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.MagneticStripeReader)]
            [uuid(1A92B015-47C3-468A-9333-0C6517574883)]
            [version(0x06030000)]
            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);
            }

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

            [uuid(DE5B52CA-E02E-40E9-9E5E-1B488E6AACFC)]
            [version(0x0A000000)]
            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);
            }

            [uuid(09286B8B-9873-4D05-BFBE-4727A6038F69)]
            [version(0x0A000000)]
            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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.SlipPrinterCapabilities)]
            [uuid(99B16399-488C-4157-8AC2-9F57F708D3DB)]
            [version(0x0A000000)]
            interface ISlipPrinterCapabilities : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonReceiptSlipCapabilities,
                    Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities
            {
                [propget] HRESULT IsFullLengthSupported([out] [retval] boolean* value);
                [propget] HRESULT IsBothSidesPrintingSupported([out] [retval] boolean* value);
            }

            [exclusiveto(Windows.Devices.PointOfService.JournalPrinterCapabilities)]
            [uuid(3B5CCC43-E047-4463-BB58-17B5BA1D8056)]
            [version(0x0A000000)]
            interface IJournalPrinterCapabilities : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities
            {
            }

            [exclusiveto(Windows.Devices.PointOfService.PosPrinterCapabilities)]
            [uuid(CDE95721-4380-4985-ADC5-39DB30CD93BC)]
            [version(0x0A000000)]
            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);
            }

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

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

            [exclusiveto(Windows.Devices.PointOfService.PosPrinterReleaseDeviceRequestedEventArgs)]
            [uuid(2BCBA359-1CEF-40B2-9ECB-F927F856AE3C)]
            [version(0x0A000000)]
            interface IPosPrinterReleaseDeviceRequestedEventArgs : IInspectable
            {
            }

            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(8CE0D4EA-132F-4CDF-A64A-2D0D7C96A85B)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.PosPrinter)]
            [uuid(2A03C10E-9A19-4A01-994F-12DFAD6ADCBF)]
            [version(0x0A000000)]
            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);
            }

            [uuid(9A94005C-0615-4591-A58F-30F87EDFE2E4)]
            [version(0x0A000000)]
            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);
            }

            [uuid(532199BE-C8C3-4DC2-89E9-5C4A37B34DDC)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ReceiptPrintJob)]
            [uuid(AA96066E-ACAD-4B79-9D0F-C0CFC08DC77B)]
            [version(0x0A000000)]
            interface IReceiptPrintJob : IInspectable
                requires
                    Windows.Devices.PointOfService.IReceiptOrSlipJob,
                    Windows.Devices.PointOfService.IPosPrinterJob
            {
                HRESULT MarkFeed([in] Windows.Devices.PointOfService.PosPrinterMarkFeedKind kind);
                [overload("CutPaper")] HRESULT CutPaper([in] DOUBLE percentage);
                [overload("CutPaper")] HRESULT CutPaperDefault();
            }

            [uuid(B7EB66A8-FE8A-4CFB-8B42-E35B280CB27C)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedReceiptPrinter)]
            [uuid(9AD27A74-DD61-4EE2-9837-5B5D72D538B9)]
            [version(0x0A000000)]
            interface IClaimedReceiptPrinter : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation
            {
                [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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedSlipPrinter)]
            [uuid(BD5DEFF2-AF90-4E8A-B77B-E3AE9CA63A7F)]
            [version(0x0A000000)]
            interface IClaimedSlipPrinter : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation
            {
                [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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedJournalPrinter)]
            [uuid(67EA0630-517D-487F-9FDF-D2E0A0A264A5)]
            [version(0x0A000000)]
            interface IClaimedJournalPrinter : IInspectable
                requires
                    Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation
            {
                HRESULT CreateJob([out] [retval] Windows.Devices.PointOfService.JournalPrintJob** value);
            }

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

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

            [exclusiveto(Windows.Devices.PointOfService.CashDrawerCapabilities)]
            [uuid(0BC6DE0B-E8E7-4B1F-B1D1-3E501AD08247)]
            [version(0x0A000000)]
            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);
            }

            [uuid(69CB3BC1-147F-421C-9C23-090123BB786C)]
            [version(0x0A000000)]
            interface ICashDrawerEventSourceEventArgs : IInspectable
            {
                [propget] HRESULT CashDrawer([out] [retval] Windows.Devices.PointOfService.CashDrawer** drawer);
            }

            [exclusiveto(Windows.Devices.PointOfService.CashDrawerEventSource)]
            [uuid(E006E46C-F2F9-442F-8DD6-06C10A4227BA)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.CashDrawer)]
            [uuid(DFA0955A-D437-4FFF-B547-DDA969A4F883)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.CashDrawer)]
            [uuid(9F88F5C8-DE54-4AEE-A890-920BCBFE30FC)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.CashDrawerCloseAlarm)]
            [uuid(6BF88CC7-6F63-430E-AB3B-95D75FFBE87F)]
            [version(0x0A000000)]
            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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedBarcodeScanner)]
            [uuid(4A63B49C-8FA4-4332-BB26-945D11D81E0F)]
            [version(0x06030000)]
            interface IClaimedBarcodeScanner : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [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);
            }

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

            [exclusiveto(Windows.Devices.PointOfService.ClaimedMagneticStripeReader)]
            [uuid(475CA8F3-9417-48BC-B9D7-4163A7844C02)]
            [version(0x06030000)]
            interface IClaimedMagneticStripeReader : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedPosPrinter)]
            [uuid(6D64CE0C-E03E-4B14-A38E-C28C34B86353)]
            [version(0x0A000000)]
            interface IClaimedPosPrinter : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [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);
            }

            [exclusiveto(Windows.Devices.PointOfService.ClaimedCashDrawer)]
            [uuid(CA3F99AF-ABB8-42C1-8A84-5C66512F5A75)]
            [version(0x0A000000)]
            interface IClaimedCashDrawer : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [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);
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass UnifiedPosErrorData
            {
                [default] interface Windows.Devices.PointOfService.IUnifiedPosErrorData;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerStatusUpdatedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IBarcodeSymbologiesStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass BarcodeSymbologies
            {
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerReport
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerReport;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerDataReceivedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerErrorOccurredEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerErrorOccurredEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerImagePreviewReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerImagePreviewReceivedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass BarcodeScannerCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScannerCapabilities;
                [version(0x0A000000)] interface Windows.Devices.PointOfService.IBarcodeScannerCapabilities1;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IBarcodeScannerStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass BarcodeScanner
            {
                [default] interface Windows.Devices.PointOfService.IBarcodeScanner;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass ClaimedBarcodeScanner
            {
                [default] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner;
                interface Windows.Foundation.IClosable;
                [version(0x0A000000)] interface Windows.Devices.PointOfService.IClaimedBarcodeScanner1;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderEncryptionAlgorithmsStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderEncryptionAlgorithms
            {
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderCardTypesStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderCardTypes
            {
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderTrackData
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderTrackData;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderReport
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderReport;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderBankCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderBankCardDataReceivedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderAamvaCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderAamvaCardDataReceivedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderErrorOccurredEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderErrorOccurredEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderStatusUpdatedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReaderCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReaderCapabilities;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass ClaimedMagneticStripeReader
            {
                [default] interface Windows.Devices.PointOfService.IClaimedMagneticStripeReader;
                interface Windows.Foundation.IClosable;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IMagneticStripeReaderStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass MagneticStripeReader
            {
                [default] interface Windows.Devices.PointOfService.IMagneticStripeReader;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IPosPrinterCharacterSetIdsStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass PosPrinterCharacterSetIds
            {
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ReceiptPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IReceiptPrinterCapabilities;
                interface Windows.Devices.PointOfService.ICommonReceiptSlipCapabilities;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass SlipPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.ISlipPrinterCapabilities;
                interface Windows.Devices.PointOfService.ICommonReceiptSlipCapabilities;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass JournalPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IJournalPrinterCapabilities;
                interface Windows.Devices.PointOfService.ICommonPosPrintStationCapabilities;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PosPrinterCapabilities
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterCapabilities;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PosPrinterStatus
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterStatus;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PosPrinterStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterStatusUpdatedEventArgs;
            }

            [marshaling_behavior(agile)]
            [version(0x0A000000)]
            runtimeclass PosPrinterReleaseDeviceRequestedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterReleaseDeviceRequestedEventArgs;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.IPosPrinterStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass PosPrinter
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinter;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ClaimedPosPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedPosPrinter;
                interface Windows.Foundation.IClosable;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ReceiptPrintJob
            {
                [default] interface Windows.Devices.PointOfService.IReceiptPrintJob;
                interface Windows.Devices.PointOfService.IReceiptOrSlipJob;
                interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass SlipPrintJob
            {
                [default] interface Windows.Devices.PointOfService.IReceiptOrSlipJob;
                interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass JournalPrintJob
            {
                [default] interface Windows.Devices.PointOfService.IPosPrinterJob;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ClaimedReceiptPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedReceiptPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ClaimedSlipPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedSlipPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ClaimedJournalPrinter
            {
                [default] interface Windows.Devices.PointOfService.IClaimedJournalPrinter;
                interface Windows.Devices.PointOfService.ICommonClaimedPosPrinterStation;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerStatus
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerStatus;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerStatusUpdatedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerStatusUpdatedEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerCapabilities
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerCapabilities;
            }

            [marshaling_behavior(agile)]
            [static(Windows.Devices.PointOfService.ICashDrawerStatics, 0x0A000000)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawer
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawer;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerClosedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSourceEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerOpenedEventArgs
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSourceEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerEventSource
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerEventSource;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass ClaimedCashDrawer
            {
                [default] interface Windows.Devices.PointOfService.IClaimedCashDrawer;
                interface Windows.Foundation.IClosable;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x0A000000)]
            runtimeclass CashDrawerCloseAlarm
            {
                [default] interface Windows.Devices.PointOfService.ICashDrawerCloseAlarm;
            }
        }
    }
}
