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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Sms
        {
            apicontract LegacySmsApiContract;

            typedef enum CellularClass CellularClass;

            typedef enum SmsBroadcastType SmsBroadcastType;

            typedef enum SmsDataFormat SmsDataFormat;

            typedef enum SmsDeviceStatus SmsDeviceStatus;

            typedef enum SmsEncoding SmsEncoding;

            typedef enum SmsFilterActionType SmsFilterActionType;

            typedef enum SmsGeographicalScope SmsGeographicalScope;

            typedef enum SmsMessageClass SmsMessageClass;

            typedef enum SmsMessageFilter SmsMessageFilter;

            typedef enum SmsMessageType SmsMessageType;

            typedef enum SmsModemErrorCode SmsModemErrorCode;

            typedef struct SmsEncodedLength SmsEncodedLength;

            delegate SmsDeviceStatusChangedEventHandler;

            delegate SmsMessageReceivedEventHandler;

            interface ISmsAppMessage;

            interface ISmsBinaryMessage;

            interface ISmsBroadcastMessage;

            interface ISmsDevice;

            interface ISmsDevice2;

            interface ISmsDevice2Statics;

            interface ISmsDeviceMessageStore;

            interface ISmsDeviceStatics;

            interface ISmsDeviceStatics2;

            interface ISmsFilterRule;

            interface ISmsFilterRuleFactory;

            interface ISmsFilterRules;

            interface ISmsFilterRulesFactory;

            interface ISmsMessage;

            interface ISmsMessageBase;

            interface ISmsMessageReceivedEventArgs;

            interface ISmsMessageReceivedTriggerDetails;

            interface ISmsMessageRegistration;

            interface ISmsMessageRegistrationStatics;

            interface ISmsReceivedEventDetails;

            interface ISmsReceivedEventDetails2;

            interface ISmsSendMessageResult;

            interface ISmsStatusMessage;

            interface ISmsTextMessage;

            interface ISmsTextMessage2;

            interface ISmsTextMessageStatics;

            interface ISmsVoicemailMessage;

            interface ISmsWapMessage;

            runtimeclass DeleteSmsMessageOperation;

            runtimeclass DeleteSmsMessagesOperation;

            runtimeclass GetSmsDeviceOperation;

            runtimeclass GetSmsMessageOperation;

            runtimeclass GetSmsMessagesOperation;

            runtimeclass SendSmsMessageOperation;

            runtimeclass SmsAppMessage;

            runtimeclass SmsBinaryMessage;

            runtimeclass SmsBroadcastMessage;

            runtimeclass SmsDevice;

            runtimeclass SmsDevice2;

            runtimeclass SmsDeviceMessageStore;

            runtimeclass SmsFilterRule;

            runtimeclass SmsFilterRules;

            runtimeclass SmsMessageReceivedEventArgs;

            runtimeclass SmsMessageReceivedTriggerDetails;

            runtimeclass SmsMessageRegistration;

            runtimeclass SmsReceivedEventDetails;

            runtimeclass SmsSendMessageResult;

            runtimeclass SmsStatusMessage;

            runtimeclass SmsTextMessage;

            runtimeclass SmsTextMessage2;

            runtimeclass SmsVoicemailMessage;

            runtimeclass SmsWapMessage;
        }
    }
}

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

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sms.ISmsMessage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sms.SmsBroadcastType>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sms.SmsFilterRule*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Devices.Sms.SmsMessageRegistration*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sms.ISmsBinaryMessage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sms.ISmsMessage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sms.SmsBroadcastType>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sms.SmsFilterRule*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Devices.Sms.SmsMessageRegistration*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsBinaryMessage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsMessage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.SmsBroadcastType>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.SmsFilterRule*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.SmsMessageRegistration*>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Sms.SmsBroadcastType>;

                interface Windows.Foundation.Collections.IVector<Windows.Devices.Sms.SmsFilterRule*>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsMessage*>*, INT32>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.ISmsMessage*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsDevice*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsSendMessageResult*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sms.SmsDevice2*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Devices.Sms.SmsMessageRegistration*, Windows.Devices.Sms.SmsMessageReceivedTriggerDetails*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Devices
    {
        namespace Sms
        {
            [contractversion(1.0)]
            apicontract LegacySmsApiContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CellularClass
            {
                None = 0,
                Gsm  = 1,
                Cdma = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsBroadcastType
            {
                Other                    = 0,
                CmasPresidential         = 1,
                CmasExtreme              = 2,
                CmasSevere               = 3,
                CmasAmber                = 4,
                CmasTest                 = 5,
                EUAlert1                 = 6,
                EUAlert2                 = 7,
                EUAlert3                 = 8,
                EUAlertAmber             = 9,
                EUAlertInfo              = 10,
                EtwsEarthquake           = 11,
                EtwsTsunami              = 12,
                EtwsTsunamiAndEarthquake = 13,
                LatAlertLocal            = 14
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsDataFormat
            {
                Unknown     = 0,
                CdmaSubmit  = 1,
                GsmSubmit   = 2,
                CdmaDeliver = 3,
                GsmDeliver  = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsDeviceStatus
            {
                Off                      = 0,
                Ready                    = 1,
                SimNotInserted           = 2,
                BadSim                   = 3,
                DeviceFailure            = 4,
                SubscriptionNotActivated = 5,
                DeviceLocked             = 6,
                DeviceBlocked            = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsEncoding
            {
                Unknown       = 0,
                Optimal       = 1,
                SevenBitAscii = 2,
                Unicode       = 3,
                GsmSevenBit   = 4,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                EightBit      = 5,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Latin         = 6,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Korean        = 7,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                IA5           = 8,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                ShiftJis      = 9,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                LatinHebrew   = 10
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsFilterActionType
            {
                AcceptImmediately = 0,
                Drop              = 1,
                Peek              = 2,
                Accept            = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsGeographicalScope
            {
                None                     = 0,
                CellWithImmediateDisplay = 1,
                LocationArea             = 2,
                Plmn                     = 3,
                Cell                     = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsMessageClass
            {
                None   = 0,
                Class0 = 1,
                Class1 = 2,
                Class2 = 3,
                Class3 = 4
            };

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsMessageFilter may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            enum SmsMessageFilter
            {
                All    = 0,
                Unread = 1,
                Read   = 2,
                Sent   = 3,
                Draft  = 4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsMessageType
            {
                Binary    = 0,
                Text      = 1,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Wap       = 2,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                App       = 3,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Broadcast = 4,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Voicemail = 5,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Status    = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SmsModemErrorCode
            {
                Other                            = 0,
                MessagingNetworkError            = 1,
                SmsOperationNotSupportedByDevice = 2,
                SmsServiceNotSupportedByNetwork  = 3,
                DeviceFailure                    = 4,
                MessageNotEncodedProperly        = 5,
                MessageTooLarge                  = 6,
                DeviceNotReady                   = 7,
                NetworkNotReady                  = 8,
                InvalidSmscAddress               = 9,
                NetworkFailure                   = 10,
                FixedDialingNumberRestricted     = 11
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct SmsEncodedLength
            {
                UINT32 SegmentCount;
                UINT32 CharacterCountLastSegment;
                UINT32 CharactersPerSegment;
                UINT32 ByteCountLastSegment;
                UINT32 BytesPerSegment;
            };

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsDeviceStatusChangedEventHandler may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(982B1162-3DD7-4618-AF89-0C272D5D06D8)]
            delegate
                HRESULT SmsDeviceStatusChangedEventHandler([in] Windows.Devices.Sms.SmsDevice* sender);

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsMessageReceivedEventHandler may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(0B7AD409-EC2D-47CE-A253-732BEEEBCACD)]
            delegate
                HRESULT SmsMessageReceivedEventHandler([in] Windows.Devices.Sms.SmsDevice* sender, [in] Windows.Devices.Sms.SmsMessageReceivedEventArgs* e);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsAppMessage)]
            [uuid(E8BB8494-D3A0-4A0A-86D7-291033A8CF54)]
            interface ISmsAppMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propput] HRESULT To([in] HSTRING value);
                [propget] HRESULT From([out] [retval] HSTRING* value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propput] HRESULT Body([in] HSTRING value);
                [propget] HRESULT CallbackNumber([out] [retval] HSTRING* value);
                [propput] HRESULT CallbackNumber([in] HSTRING value);
                [propget] HRESULT IsDeliveryNotificationEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsDeliveryNotificationEnabled([in] boolean value);
                [propget] HRESULT RetryAttemptCount([out] [retval] INT32* value);
                [propput] HRESULT RetryAttemptCount([in] INT32 value);
                [propget] HRESULT Encoding([out] [retval] Windows.Devices.Sms.SmsEncoding* value);
                [propput] HRESULT Encoding([in] Windows.Devices.Sms.SmsEncoding value);
                [propget] HRESULT PortNumber([out] [retval] INT32* value);
                [propput] HRESULT PortNumber([in] INT32 value);
                [propget] HRESULT TeleserviceId([out] [retval] INT32* value);
                [propput] HRESULT TeleserviceId([in] INT32 value);
                [propget] HRESULT ProtocolId([out] [retval] INT32* value);
                [propput] HRESULT ProtocolId([in] INT32 value);
                [propget] HRESULT BinaryBody([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propput] HRESULT BinaryBody([in] Windows.Storage.Streams.IBuffer* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(5BF4E813-3B53-4C6E-B61A-D86A63755650)]
            interface ISmsBinaryMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessage
            {
                [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT Format([out] [retval] Windows.Devices.Sms.SmsDataFormat* value);
                [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propput] HRESULT Format([in] Windows.Devices.Sms.SmsDataFormat value);
                [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT GetData([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value);
                [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT SetData([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsBroadcastMessage)]
            [uuid(75AEBBF1-E4B7-4874-A09C-2956E592F957)]
            interface ISmsBroadcastMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propget] HRESULT Channel([out] [retval] INT32* value);
                [propget] HRESULT GeographicalScope([out] [retval] Windows.Devices.Sms.SmsGeographicalScope* value);
                [propget] HRESULT MessageCode([out] [retval] INT32* value);
                [propget] HRESULT UpdateNumber([out] [retval] INT32* value);
                [propget] HRESULT BroadcastType([out] [retval] Windows.Devices.Sms.SmsBroadcastType* value);
                [propget] HRESULT IsEmergencyAlert([out] [retval] boolean* value);
                [propget] HRESULT IsUserPopupRequested([out] [retval] boolean* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(091791ED-872B-4EEC-9C72-AB11627B34EC)]
            interface ISmsDevice : IInspectable
            {
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT SendMessageAsync([in] Windows.Devices.Sms.ISmsMessage* message, [out] [retval] Windows.Devices.Sms.SendSmsMessageOperation** asyncInfo);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT CalculateLength([in] Windows.Devices.Sms.SmsTextMessage* message, [out] [retval] Windows.Devices.Sms.SmsEncodedLength* encodedLength);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT AccountPhoneNumber([out] [retval] HSTRING* value);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT CellularClass([out] [retval] Windows.Devices.Sms.CellularClass* value);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT MessageStore([out] [retval] Windows.Devices.Sms.SmsDeviceMessageStore** value);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT DeviceStatus([out] [retval] Windows.Devices.Sms.SmsDeviceStatus* value);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [eventadd] HRESULT SmsMessageReceived([in] Windows.Devices.Sms.SmsMessageReceivedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [eventremove] HRESULT SmsMessageReceived([in] EventRegistrationToken eventCookie);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [eventadd] HRESULT SmsDeviceStatusChanged([in] Windows.Devices.Sms.SmsDeviceStatusChangedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [eventremove] HRESULT SmsDeviceStatusChanged([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsDevice2)]
            [uuid(BD8A5C13-E522-46CB-B8D5-9EAD30FB6C47)]
            interface ISmsDevice2 : IInspectable
            {
                [propget] HRESULT SmscAddress([out] [retval] HSTRING* value);
                [propput] HRESULT SmscAddress([in] HSTRING value);
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT ParentDeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT AccountPhoneNumber([out] [retval] HSTRING* value);
                [propget] HRESULT CellularClass([out] [retval] Windows.Devices.Sms.CellularClass* value);
                [propget] HRESULT DeviceStatus([out] [retval] Windows.Devices.Sms.SmsDeviceStatus* value);
                HRESULT CalculateLength([in] Windows.Devices.Sms.ISmsMessageBase* message, [out] [retval] Windows.Devices.Sms.SmsEncodedLength* value);
                HRESULT SendMessageAndGetResultAsync([in] Windows.Devices.Sms.ISmsMessageBase* message, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsSendMessageResult*>** asyncInfo);
                [eventadd] HRESULT DeviceStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sms.SmsDevice2*, IInspectable*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT DeviceStatusChanged([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsDevice2)]
            [uuid(65C78325-1031-491E-8FB6-EF9991AFE363)]
            interface ISmsDevice2Statics : IInspectable
            {
                HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
                HRESULT FromId([in] HSTRING deviceId, [out] [retval] Windows.Devices.Sms.SmsDevice2** value);
                HRESULT GetDefault([out] [retval] Windows.Devices.Sms.SmsDevice2** value);
                HRESULT FromParentId([in] HSTRING parentDeviceId, [out] [retval] Windows.Devices.Sms.SmsDevice2** value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsDeviceMessageStore)]
            [uuid(9889F253-F188-4427-8D54-CE0C2423C5C1)]
            interface ISmsDeviceMessageStore : IInspectable
            {
                [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT DeleteMessageAsync([in] UINT32 messageId, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT DeleteMessagesAsync([in] Windows.Devices.Sms.SmsMessageFilter messageFilter, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo);
                [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT GetMessageAsync([in] UINT32 messageId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.ISmsMessage*>** asyncInfo);
                [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT GetMessagesAsync([in] Windows.Devices.Sms.SmsMessageFilter messageFilter, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsMessage*>*, INT32>** asyncInfo);
                [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT MaxMessages([out] [retval] UINT32* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("ISmsDeviceStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsDevice)]
            [uuid(F88D07EA-D815-4DD1-A234-4520CE4604A4)]
            interface ISmsDeviceStatics : IInspectable
            {
                [deprecated("ISmsDeviceStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT GetDeviceSelector([out] [retval] HSTRING* phstrDeviceClassSelector);
                [deprecated("ISmsDeviceStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsDevice*>** asyncInfo);
                [deprecated("ISmsDeviceStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsDevice*>** asyncInfo);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("ISmsDeviceStatics2 may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsDevice)]
            [uuid(2CA11C87-0873-4CAF-8A7D-BD471E8586D1)]
            interface ISmsDeviceStatics2 : IInspectable
            {
                [deprecated("ISmsDeviceStatics2 may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT FromNetworkAccountIdAsync([in] HSTRING networkAccountId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsDevice*>** asyncInfo);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsFilterRule)]
            [uuid(40E32FAE-B049-4FBC-AFE9-E2A610EFF55C)]
            interface ISmsFilterRule : IInspectable
            {
                [propget] HRESULT MessageType([out] [retval] Windows.Devices.Sms.SmsMessageType* value);
                [propget] HRESULT ImsiPrefixes([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT DeviceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT SenderNumbers([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT TextMessagePrefixes([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT PortNumbers([out] [retval] Windows.Foundation.Collections.IVector<INT32>** value);
                [propget] HRESULT CellularClass([out] [retval] Windows.Devices.Sms.CellularClass* value);
                [propput] HRESULT CellularClass([in] Windows.Devices.Sms.CellularClass value);
                [propget] HRESULT ProtocolIds([out] [retval] Windows.Foundation.Collections.IVector<INT32>** value);
                [propget] HRESULT TeleserviceIds([out] [retval] Windows.Foundation.Collections.IVector<INT32>** value);
                [propget] HRESULT WapApplicationIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT WapContentTypes([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT BroadcastTypes([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Sms.SmsBroadcastType>** value);
                [propget] HRESULT BroadcastChannels([out] [retval] Windows.Foundation.Collections.IVector<INT32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsFilterRule)]
            [uuid(00C36508-6296-4F29-9AAD-8920CEBA3CE8)]
            interface ISmsFilterRuleFactory : IInspectable
            {
                HRESULT CreateFilterRule([in] Windows.Devices.Sms.SmsMessageType messageType, [out] [retval] Windows.Devices.Sms.SmsFilterRule** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsFilterRules)]
            [uuid(4E47EAFB-79CD-4881-9894-55A4135B23FA)]
            interface ISmsFilterRules : IInspectable
            {
                [propget] HRESULT ActionType([out] [retval] Windows.Devices.Sms.SmsFilterActionType* value);
                [propget] HRESULT Rules([out] [retval] Windows.Foundation.Collections.IVector<Windows.Devices.Sms.SmsFilterRule*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsFilterRules)]
            [uuid(A09924ED-6E2E-4530-9FDE-465D02EED00E)]
            interface ISmsFilterRulesFactory : IInspectable
            {
                HRESULT CreateFilterRules([in] Windows.Devices.Sms.SmsFilterActionType actionType, [out] [retval] Windows.Devices.Sms.SmsFilterRules** value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(ED3C5E28-6984-4B07-811D-8D5906ED3CEA)]
            interface ISmsMessage : IInspectable
            {
                [propget] HRESULT Id([out] [retval] UINT32* value);
                [propget] HRESULT MessageClass([out] [retval] Windows.Devices.Sms.SmsMessageClass* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(2CF0FE30-FE50-4FC6-AA88-4CCFE27A29EA)]
            interface ISmsMessageBase : IInspectable
            {
                [propget] HRESULT MessageType([out] [retval] Windows.Devices.Sms.SmsMessageType* value);
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT CellularClass([out] [retval] Windows.Devices.Sms.CellularClass* value);
                [propget] HRESULT MessageClass([out] [retval] Windows.Devices.Sms.SmsMessageClass* value);
                [propget] HRESULT SimIccId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsMessageReceivedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsMessageReceivedEventArgs)]
            [uuid(08E80A98-B8E5-41C1-A3D8-D3ABFAE22675)]
            interface ISmsMessageReceivedEventArgs : IInspectable
            {
                [deprecated("SmsMessageReceivedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT TextMessage([out] [retval] Windows.Devices.Sms.SmsTextMessage** value);
                [deprecated("SmsMessageReceivedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT BinaryMessage([out] [retval] Windows.Devices.Sms.SmsBinaryMessage** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsMessageReceivedTriggerDetails)]
            [uuid(2BCFCBD4-2657-4128-AD5F-E3877132BDB1)]
            interface ISmsMessageReceivedTriggerDetails : IInspectable
            {
                [propget] HRESULT MessageType([out] [retval] Windows.Devices.Sms.SmsMessageType* value);
                [propget] HRESULT TextMessage([out] [retval] Windows.Devices.Sms.SmsTextMessage2** value);
                [propget] HRESULT WapMessage([out] [retval] Windows.Devices.Sms.SmsWapMessage** value);
                [propget] HRESULT AppMessage([out] [retval] Windows.Devices.Sms.SmsAppMessage** value);
                [propget] HRESULT BroadcastMessage([out] [retval] Windows.Devices.Sms.SmsBroadcastMessage** value);
                [propget] HRESULT VoicemailMessage([out] [retval] Windows.Devices.Sms.SmsVoicemailMessage** value);
                [propget] HRESULT StatusMessage([out] [retval] Windows.Devices.Sms.SmsStatusMessage** value);
                HRESULT Drop();
                HRESULT Accept();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsMessageRegistration)]
            [uuid(1720503E-F34F-446B-83B3-0FF19923B409)]
            interface ISmsMessageRegistration : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                HRESULT Unregister();
                [eventadd] HRESULT MessageReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Sms.SmsMessageRegistration*, Windows.Devices.Sms.SmsMessageReceivedTriggerDetails*>* eventHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT MessageReceived([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsMessageRegistration)]
            [uuid(63A05464-2898-4778-A03C-6F994907D63A)]
            interface ISmsMessageRegistrationStatics : IInspectable
            {
                [propget] HRESULT AllRegistrations([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.SmsMessageRegistration*>** value);
                HRESULT Register([in] HSTRING id, [in] Windows.Devices.Sms.SmsFilterRules* filterRules, [out] [retval] Windows.Devices.Sms.SmsMessageRegistration** value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsReceivedEventDetails)]
            [uuid(5BB50F15-E46D-4C82-847D-5A0304C1D53D)]
            interface ISmsReceivedEventDetails : IInspectable
            {
                [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT MessageIndex([out] [retval] UINT32* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsReceivedEventDetails)]
            [uuid(40E05C86-A7B4-4771-9AE7-0B5FFB12C03A)]
            interface ISmsReceivedEventDetails2 : IInspectable
            {
                [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT MessageClass([out] [retval] Windows.Devices.Sms.SmsMessageClass* value);
                [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT BinaryMessage([out] [retval] Windows.Devices.Sms.SmsBinaryMessage** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsSendMessageResult)]
            [uuid(DB139AF2-78C9-4FEB-9622-452328088D62)]
            interface ISmsSendMessageResult : IInspectable
            {
                [propget] HRESULT IsSuccessful([out] [retval] boolean* value);
                [propget] HRESULT MessageReferenceNumbers([out] [retval] Windows.Foundation.Collections.IVectorView<INT32>** value);
                [propget] HRESULT CellularClass([out] [retval] Windows.Devices.Sms.CellularClass* value);
                [propget] HRESULT ModemErrorCode([out] [retval] Windows.Devices.Sms.SmsModemErrorCode* value);
                [propget] HRESULT IsErrorTransient([out] [retval] boolean* value);
                [propget] HRESULT NetworkCauseCode([out] [retval] INT32* value);
                [propget] HRESULT TransportFailureCause([out] [retval] INT32* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsStatusMessage)]
            [uuid(E6D28342-B70B-4677-9379-C9783FDFF8F4)]
            interface ISmsStatusMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propget] HRESULT From([out] [retval] HSTRING* value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propget] HRESULT Status([out] [retval] INT32* value);
                [propget] HRESULT MessageReferenceNumber([out] [retval] INT32* value);
                [propget] HRESULT ServiceCenterTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT DischargeTime([out] [retval] Windows.Foundation.DateTime* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [uuid(D61C904C-A495-487F-9A6F-971548C5BC9F)]
            interface ISmsTextMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessage
            {
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT PartReferenceId([out] [retval] UINT32* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT PartNumber([out] [retval] UINT32* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT PartCount([out] [retval] UINT32* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT To([out] [retval] HSTRING* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propput] HRESULT To([in] HSTRING value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT From([out] [retval] HSTRING* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propput] HRESULT From([in] HSTRING value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT Body([out] [retval] HSTRING* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propput] HRESULT Body([in] HSTRING value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propget] HRESULT Encoding([out] [retval] Windows.Devices.Sms.SmsEncoding* value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] [propput] HRESULT Encoding([in] Windows.Devices.Sms.SmsEncoding value);
                [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT ToBinaryMessages([in] Windows.Devices.Sms.SmsDataFormat format, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsBinaryMessage*>** messages);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsTextMessage2)]
            [uuid(22A0D893-4555-4755-B5A1-E7FD84955F8D)]
            interface ISmsTextMessage2 : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propput] HRESULT To([in] HSTRING value);
                [propget] HRESULT From([out] [retval] HSTRING* value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propput] HRESULT Body([in] HSTRING value);
                [propget] HRESULT Encoding([out] [retval] Windows.Devices.Sms.SmsEncoding* value);
                [propput] HRESULT Encoding([in] Windows.Devices.Sms.SmsEncoding value);
                [propget] HRESULT CallbackNumber([out] [retval] HSTRING* value);
                [propput] HRESULT CallbackNumber([in] HSTRING value);
                [propget] HRESULT IsDeliveryNotificationEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsDeliveryNotificationEnabled([in] boolean value);
                [propget] HRESULT RetryAttemptCount([out] [retval] INT32* value);
                [propput] HRESULT RetryAttemptCount([in] INT32 value);
                [propget] HRESULT TeleserviceId([out] [retval] INT32* value);
                [propget] HRESULT ProtocolId([out] [retval] INT32* value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("ISmsTextMessageStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsTextMessage)]
            [uuid(7F68C5ED-3CCC-47A3-8C55-380D3B010892)]
            interface ISmsTextMessageStatics : IInspectable
            {
                [deprecated("ISmsTextMessageStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT FromBinaryMessage([in] Windows.Devices.Sms.SmsBinaryMessage* binaryMessage, [out] [retval] Windows.Devices.Sms.SmsTextMessage** textMessage);
                [deprecated("ISmsTextMessageStatics may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)] HRESULT FromBinaryData([in] Windows.Devices.Sms.SmsDataFormat format, [in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value, [out] [retval] Windows.Devices.Sms.SmsTextMessage** textMessage);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsVoicemailMessage)]
            [uuid(271AA0A6-95B1-44FF-BCB8-B8FDD7E08BC3)]
            interface ISmsVoicemailMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propget] HRESULT MessageCount([out] [retval] Windows.Foundation.IReference<INT32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Devices.Sms.SmsWapMessage)]
            [uuid(CD937743-7A55-4D3B-9021-F22E022D09C5)]
            interface ISmsWapMessage : IInspectable
                requires
                    Windows.Devices.Sms.ISmsMessageBase
            {
                [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT To([out] [retval] HSTRING* value);
                [propget] HRESULT From([out] [retval] HSTRING* value);
                [propget] HRESULT ApplicationId([out] [retval] HSTRING* value);
                [propget] HRESULT ContentType([out] [retval] HSTRING* value);
                [propget] HRESULT BinaryBody([out] [retval] Windows.Storage.Streams.IBuffer** value);
                [propget] HRESULT Headers([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, HSTRING>** value);
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("DeleteSmsMessageOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass DeleteSmsMessageOperation
            {
                [default] interface Windows.Foundation.IAsyncAction;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("DeleteSmsMessagesOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass DeleteSmsMessagesOperation
            {
                [default] interface Windows.Foundation.IAsyncAction;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("GetSmsDeviceOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass GetSmsDeviceOperation
            {
                [default] interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.SmsDevice*>;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("GetSmsMessageOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass GetSmsMessageOperation
            {
                [default] interface Windows.Foundation.IAsyncOperation<Windows.Devices.Sms.ISmsMessage*>;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("GetSmsMessagesOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass GetSmsMessagesOperation
            {
                [default] interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Foundation.Collections.IVectorView<Windows.Devices.Sms.ISmsMessage*>*, INT32>;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SendSmsMessageOperation may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass SendSmsMessageOperation
            {
                [default] interface Windows.Foundation.IAsyncAction;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsAppMessage
            {
                [default] interface Windows.Devices.Sms.ISmsAppMessage;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }

            [activatable(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsBinaryMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsAppMessage.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsBinaryMessage
            {
                [default] interface Windows.Devices.Sms.ISmsBinaryMessage;
                interface Windows.Devices.Sms.ISmsMessage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsBroadcastMessage
            {
                [default] interface Windows.Devices.Sms.ISmsBroadcastMessage;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [static(Windows.Devices.Sms.ISmsDeviceStatics, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [static(Windows.Devices.Sms.ISmsDeviceStatics2, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [threading(both)]
            runtimeclass SmsDevice
            {
                [default] interface Windows.Devices.Sms.ISmsDevice;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.Sms.ISmsDevice2Statics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass SmsDevice2
            {
                [default] interface Windows.Devices.Sms.ISmsDevice2;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsDeviceMessageStore may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass SmsDeviceMessageStore
            {
                [default] interface Windows.Devices.Sms.ISmsDeviceMessageStore;
            }

            [activatable(Windows.Devices.Sms.ISmsFilterRuleFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SmsFilterRule
            {
                [default] interface Windows.Devices.Sms.ISmsFilterRule;
            }

            [activatable(Windows.Devices.Sms.ISmsFilterRulesFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SmsFilterRules
            {
                [default] interface Windows.Devices.Sms.ISmsFilterRules;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsMessageReceivedEventArgs may be altered or unavailable for releases after Windows 10.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            runtimeclass SmsMessageReceivedEventArgs
            {
                [default] interface Windows.Devices.Sms.ISmsMessageReceivedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SmsMessageReceivedTriggerDetails
            {
                [default] interface Windows.Devices.Sms.ISmsMessageReceivedTriggerDetails;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Devices.Sms.ISmsMessageRegistrationStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass SmsMessageRegistration
            {
                [default] interface Windows.Devices.Sms.ISmsMessageRegistration;
            }

            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsReceivedEventDetails may be altered or unavailable for releases after Windows 10. Instead, use SmsMessageReceivedTriggerDetails.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsReceivedEventDetails
            {
                [default] interface Windows.Devices.Sms.ISmsReceivedEventDetails;
                [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)] interface Windows.Devices.Sms.ISmsReceivedEventDetails2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsSendMessageResult
            {
                [default] interface Windows.Devices.Sms.ISmsSendMessageResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsStatusMessage
            {
                [default] interface Windows.Devices.Sms.ISmsStatusMessage;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }

            [activatable(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [contract(Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [deprecated("SmsTextMessage may be altered or unavailable for releases after Windows 10. Instead, use SmsTextMessage2.", deprecate, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Devices.Sms.ISmsTextMessageStatics, Windows.Devices.Sms.LegacySmsApiContract, 1.0)]
            [threading(both)]
            runtimeclass SmsTextMessage
            {
                [default] interface Windows.Devices.Sms.ISmsTextMessage;
                interface Windows.Devices.Sms.ISmsMessage;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SmsTextMessage2
            {
                [default] interface Windows.Devices.Sms.ISmsTextMessage2;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsVoicemailMessage
            {
                [default] interface Windows.Devices.Sms.ISmsVoicemailMessage;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SmsWapMessage
            {
                [default] interface Windows.Devices.Sms.ISmsWapMessage;
                interface Windows.Devices.Sms.ISmsMessageBase;
            }
        }
    }
}
