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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.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(__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;
    }
}
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 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 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 IClaimedBarcodeScanner;

            interface IClaimedMagneticStripeReader;

            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;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Devices
    {
        namespace PointOfService
        {
            declare
            {
                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.ClaimedBarcodeScanner*>;

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

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

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

                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.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.MagneticStripeReader*, Windows.Devices.PointOfService.MagneticStripeReaderStatusUpdatedEventArgs*>;
            }
        }
    }
}

// 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(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.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.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.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);
            }

            [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;
            }

            [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;
            }

            [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;
            }
        }
    }
}
