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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.Contacts.idl";
import "Windows.Devices.Enumeration.idl";
import "Windows.System.idl";
import "Windows.UI.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Contacts
        {
            runtimeclass Contact;

            runtimeclass ContactPhone;
        }
    }
}
namespace Windows
{
    namespace Devices
    {
        namespace Enumeration
        {
            typedef enum DeviceAccessStatus DeviceAccessStatus;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            apicontract CallsPhoneContract;

            apicontract CallsVoipContract;

            apicontract LockScreenCallContract;

            typedef enum CellularDtmfMode CellularDtmfMode;

            typedef enum DtmfKey DtmfKey;

            typedef enum DtmfToneAudioPlayback DtmfToneAudioPlayback;

            typedef enum PhoneAudioRoutingEndpoint PhoneAudioRoutingEndpoint;

            typedef enum PhoneCallAudioDevice PhoneCallAudioDevice;

            typedef enum PhoneCallDirection PhoneCallDirection;

            typedef enum PhoneCallHistoryEntryMedia PhoneCallHistoryEntryMedia;

            typedef enum PhoneCallHistoryEntryOtherAppReadAccess PhoneCallHistoryEntryOtherAppReadAccess;

            typedef enum PhoneCallHistoryEntryQueryDesiredMedia PhoneCallHistoryEntryQueryDesiredMedia;

            typedef enum PhoneCallHistoryEntryRawAddressKind PhoneCallHistoryEntryRawAddressKind;

            typedef enum PhoneCallHistorySourceIdKind PhoneCallHistorySourceIdKind;

            typedef enum PhoneCallHistoryStoreAccessType PhoneCallHistoryStoreAccessType;

            typedef enum PhoneCallMedia PhoneCallMedia;

            typedef enum PhoneCallOperationStatus PhoneCallOperationStatus;

            typedef enum PhoneCallStatus PhoneCallStatus;

            typedef enum PhoneLineNetworkOperatorDisplayTextLocation PhoneLineNetworkOperatorDisplayTextLocation;

            typedef enum PhoneLineOperationStatus PhoneLineOperationStatus;

            typedef enum PhoneLineTransport PhoneLineTransport;

            typedef enum PhoneLineWatcherStatus PhoneLineWatcherStatus;

            typedef enum PhoneNetworkState PhoneNetworkState;

            typedef enum PhoneSimState PhoneSimState;

            typedef enum PhoneVoicemailType PhoneVoicemailType;

            typedef enum TransportDeviceAudioRoutingStatus TransportDeviceAudioRoutingStatus;

            typedef enum VoipCallControlDeviceKind VoipCallControlDeviceKind;

            typedef enum VoipPhoneCallMedia VoipPhoneCallMedia;

            typedef enum VoipPhoneCallRejectReason VoipPhoneCallRejectReason;

            typedef enum VoipPhoneCallResourceReservationStatus VoipPhoneCallResourceReservationStatus;

            typedef enum VoipPhoneCallState VoipPhoneCallState;

            interface IAcceptedVoipPhoneCallOptions;

            interface IAcceptedVoipPhoneCallOptionsFactory;

            interface IAppInitiatedVoipPhoneCallOptions;

            interface IAppInitiatedVoipPhoneCallOptionsFactory;

            interface ICallAnswerEventArgs;

            interface ICallAnswerEventArgs2;

            interface ICallRejectEventArgs;

            interface ICallStateChangeEventArgs;

            interface IIncomingVoipPhoneCallOptions;

            interface IIncomingVoipPhoneCallOptionsFactory;

            interface ILockScreenCallEndCallDeferral;

            interface ILockScreenCallEndRequestedEventArgs;

            interface ILockScreenCallUI;

            interface IMuteChangeEventArgs;

            interface IOutgoingVoipPhoneCallOptions;

            interface IOutgoingVoipPhoneCallOptionsFactory;

            interface IPhoneCall;

            interface IPhoneCallBlockingStatics;

            interface IPhoneCallHistoryEntry;

            interface IPhoneCallHistoryEntryAddress;

            interface IPhoneCallHistoryEntryAddressFactory;

            interface IPhoneCallHistoryEntryQueryOptions;

            interface IPhoneCallHistoryEntryReader;

            interface IPhoneCallHistoryManagerForUser;

            interface IPhoneCallHistoryManagerStatics;

            interface IPhoneCallHistoryManagerStatics2;

            interface IPhoneCallHistoryStore;

            interface IPhoneCallInfo;

            interface IPhoneCallManagerStatics;

            interface IPhoneCallManagerStatics2;

            interface IPhoneCallStatics;

            interface IPhoneCallStore;

            interface IPhoneCallVideoCapabilities;

            interface IPhoneCallVideoCapabilitiesManagerStatics;

            interface IPhoneCallsResult;

            interface IPhoneDialOptions;

            interface IPhoneLine;

            interface IPhoneLine2;

            interface IPhoneLine3;

            interface IPhoneLineCellularDetails;

            interface IPhoneLineConfiguration;

            interface IPhoneLineDialResult;

            interface IPhoneLineStatics;

            interface IPhoneLineTransportDevice;

            interface IPhoneLineTransportDevice2;

            interface IPhoneLineTransportDeviceStatics;

            interface IPhoneLineWatcher;

            interface IPhoneLineWatcherEventArgs;

            interface IPhoneVoicemail;

            interface IVoipCallCoordinator;

            interface IVoipCallCoordinator2;

            interface IVoipCallCoordinator3;

            interface IVoipCallCoordinator4;

            interface IVoipCallCoordinator5;

            interface IVoipCallCoordinatorStatics;

            interface IVoipCallCoordinatorStatics2;

            interface IVoipPhoneCall;

            interface IVoipPhoneCall2;

            interface IVoipPhoneCall3;

            interface IVoipPhoneCall4;

            runtimeclass AcceptedVoipPhoneCallOptions;

            runtimeclass AppInitiatedVoipPhoneCallOptions;

            runtimeclass CallAnswerEventArgs;

            runtimeclass CallRejectEventArgs;

            runtimeclass CallStateChangeEventArgs;

            runtimeclass IncomingVoipPhoneCallOptions;

            runtimeclass LockScreenCallEndCallDeferral;

            runtimeclass LockScreenCallEndRequestedEventArgs;

            runtimeclass LockScreenCallUI;

            runtimeclass MuteChangeEventArgs;

            runtimeclass OutgoingVoipPhoneCallOptions;

            runtimeclass PhoneCall;

            runtimeclass PhoneCallBlocking;

            runtimeclass PhoneCallHistoryEntry;

            runtimeclass PhoneCallHistoryEntryAddress;

            runtimeclass PhoneCallHistoryEntryQueryOptions;

            runtimeclass PhoneCallHistoryEntryReader;

            runtimeclass PhoneCallHistoryManager;

            runtimeclass PhoneCallHistoryManagerForUser;

            runtimeclass PhoneCallHistoryStore;

            runtimeclass PhoneCallInfo;

            runtimeclass PhoneCallManager;

            runtimeclass PhoneCallStore;

            runtimeclass PhoneCallVideoCapabilities;

            runtimeclass PhoneCallVideoCapabilitiesManager;

            runtimeclass PhoneCallsResult;

            runtimeclass PhoneDialOptions;

            runtimeclass PhoneLine;

            runtimeclass PhoneLineCellularDetails;

            runtimeclass PhoneLineConfiguration;

            runtimeclass PhoneLineDialResult;

            runtimeclass PhoneLineTransportDevice;

            runtimeclass PhoneLineWatcher;

            runtimeclass PhoneLineWatcherEventArgs;

            runtimeclass PhoneVoicemail;

            runtimeclass VoipCallCoordinator;

            runtimeclass VoipPhoneCall;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Calls.PhoneCall*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Calls.PhoneCall*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Calls.PhoneCall*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallHistoryStore*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallInfo*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallStore*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallVideoCapabilities*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallsResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneLine*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneLineDialResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.VoipPhoneCallResourceReservationStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneCall*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLine*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineTransportDevice*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipCallCoordinator*, Windows.ApplicationModel.Calls.MuteChangeEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallAnswerEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallRejectEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallStateChangeEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {

            [contractversion(5.0)]
            apicontract CallsVoipContract
            {
            }

            [contractversion(1.0)]
            apicontract LockScreenCallContract
            {
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum CellularDtmfMode
            {
                Continuous = 0,
                Burst      = 1
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum DtmfKey
            {
                D0    = 0,
                D1    = 1,
                D2    = 2,
                D3    = 3,
                D4    = 4,
                D5    = 5,
                D6    = 6,
                D7    = 7,
                D8    = 8,
                D9    = 9,
                Star  = 10,
                Pound = 11
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum DtmfToneAudioPlayback
            {
                Play      = 0,
                DoNotPlay = 1
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneAudioRoutingEndpoint
            {
                Default      = 0,
                Bluetooth    = 1,
                Speakerphone = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum PhoneCallAudioDevice
            {
                Unknown      = 0,
                LocalDevice  = 1,
                RemoteDevice = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum PhoneCallDirection
            {
                Unknown  = 0,
                Incoming = 1,
                Outgoing = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhoneCallHistoryEntryMedia
            {
                Audio = 0,
                Video = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhoneCallHistoryEntryOtherAppReadAccess
            {
                Full       = 0,
                SystemOnly = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PhoneCallHistoryEntryQueryDesiredMedia
            {
                None  = 0x0,
                Audio = 0x1,
                Video = 0x2,
                All   = 0xFFFFFFFF
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhoneCallHistoryEntryRawAddressKind
            {
                PhoneNumber = 0,
                Custom      = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhoneCallHistorySourceIdKind
            {
                CellularPhoneLineId = 0,
                PackageFamilyName   = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PhoneCallHistoryStoreAccessType
            {
                AppEntriesReadWrite        = 0,
                AllEntriesLimitedReadWrite = 1,
                AllEntriesReadWrite        = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneCallMedia
            {
                Audio                = 0,
                AudioAndVideo        = 1,
                [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 4.0)]
                AudioAndRealTimeText = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum PhoneCallOperationStatus
            {
                Succeeded        = 0,
                OtherFailure     = 1,
                TimedOut         = 2,
                ConnectionLost   = 3,
                InvalidCallState = 4
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum PhoneCallStatus
            {
                Lost     = 0,
                Incoming = 1,
                Dialing  = 2,
                Talking  = 3,
                Held     = 4,
                Ended    = 5
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneLineNetworkOperatorDisplayTextLocation
            {
                Default  = 0,
                Tile     = 1,
                Dialer   = 2,
                InCallUI = 3
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum PhoneLineOperationStatus
            {
                Succeeded        = 0,
                OtherFailure     = 1,
                TimedOut         = 2,
                ConnectionLost   = 3,
                InvalidCallState = 4
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneLineTransport
            {
                Cellular  = 0,
                VoipApp   = 1,
                [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
                Bluetooth = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneLineWatcherStatus
            {
                Created              = 0,
                Started              = 1,
                EnumerationCompleted = 2,
                Stopped              = 3
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneNetworkState
            {
                Unknown              = 0,
                NoSignal             = 1,
                Deregistered         = 2,
                Denied               = 3,
                Searching            = 4,
                Home                 = 5,
                RoamingInternational = 6,
                RoamingDomestic      = 7
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneSimState
            {
                Unknown        = 0,
                PinNotRequired = 1,
                PinUnlocked    = 2,
                PinLocked      = 3,
                PukLocked      = 4,
                NotInserted    = 5,
                Invalid        = 6,
                Disabled       = 7
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            enum PhoneVoicemailType
            {
                None        = 0,
                Traditional = 1,
                Visual      = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            enum TransportDeviceAudioRoutingStatus
            {
                Unknown                  = 0,
                CanRouteToLocalDevice    = 1,
                CannotRouteToLocalDevice = 2
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            enum VoipCallControlDeviceKind
            {
                Bluetooth = 0,
                Usb       = 1
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [flags]
            enum VoipPhoneCallMedia
            {
                None  = 0x0,
                Audio = 0x1,
                Video = 0x2
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            enum VoipPhoneCallRejectReason
            {
                UserIgnored         = 0,
                TimedOut            = 1,
                OtherIncomingCall   = 2,
                EmergencyCallExists = 3,
                InvalidCallState    = 4
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            enum VoipPhoneCallResourceReservationStatus
            {
                Success               = 0,
                ResourcesNotAvailable = 1
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            enum VoipPhoneCallState
            {
                Ended    = 0,
                Held     = 1,
                Active   = 2,
                Incoming = 3,
                Outgoing = 4
            };

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.AcceptedVoipPhoneCallOptions)]
            [uuid(E519C726-B86F-5ADD-8AE2-0F46ACD9232D)]
            interface IAcceptedVoipPhoneCallOptions : IInspectable
            {
                [propget] HRESULT Context([out] [retval] HSTRING* value);
                [propput] HRESULT Context([in] HSTRING value);
                [propget] HRESULT ContactName([out] [retval] HSTRING* value);
                [propput] HRESULT ContactName([in] HSTRING value);
                [propget] HRESULT ContactNumber([out] [retval] HSTRING* value);
                [propput] HRESULT ContactNumber([in] HSTRING value);
                [propget] HRESULT ServiceName([out] [retval] HSTRING* value);
                [propput] HRESULT ServiceName([in] HSTRING value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia value);
                [propget] HRESULT AssociatedDeviceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.AcceptedVoipPhoneCallOptions)]
            [uuid(6CF8A79B-ACC1-54CE-A75D-CC78D17690C8)]
            interface IAcceptedVoipPhoneCallOptionsFactory : IInspectable
            {
                HRESULT CreateInstance([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds, [out] [retval] Windows.ApplicationModel.Calls.AcceptedVoipPhoneCallOptions** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.AppInitiatedVoipPhoneCallOptions)]
            [uuid(86BEBF63-FF5A-57FD-84C6-2D2CF18302F8)]
            interface IAppInitiatedVoipPhoneCallOptions : IInspectable
            {
                [propget] HRESULT Context([out] [retval] HSTRING* value);
                [propput] HRESULT Context([in] HSTRING value);
                [propget] HRESULT ContactName([out] [retval] HSTRING* value);
                [propput] HRESULT ContactName([in] HSTRING value);
                [propget] HRESULT ContactNumber([out] [retval] HSTRING* value);
                [propput] HRESULT ContactNumber([in] HSTRING value);
                [propget] HRESULT ServiceName([out] [retval] HSTRING* value);
                [propput] HRESULT ServiceName([in] HSTRING value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia value);
                [propget] HRESULT AssociatedDeviceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.AppInitiatedVoipPhoneCallOptions)]
            [uuid(CA46C30C-F779-5F3B-8EBC-A635E7F652B5)]
            interface IAppInitiatedVoipPhoneCallOptionsFactory : IInspectable
            {
                HRESULT CreateInstance([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds, [out] [retval] Windows.ApplicationModel.Calls.AppInitiatedVoipPhoneCallOptions** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.CallAnswerEventArgs)]
            [uuid(FD789617-2DD7-4C8C-B2BD-95D17A5BB733)]
            interface ICallAnswerEventArgs : IInspectable
            {
                [propget] HRESULT AcceptedMedia([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.CallAnswerEventArgs)]
            [uuid(408208F7-C3F7-579A-800D-541082CBA051)]
            interface ICallAnswerEventArgs2 : IInspectable
            {
                [propget] HRESULT SourceDeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.CallRejectEventArgs)]
            [uuid(DA47FAD7-13D4-4D92-A1C2-B77811EE37EC)]
            interface ICallRejectEventArgs : IInspectable
            {
                [propget] HRESULT RejectReason([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallRejectReason* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.CallStateChangeEventArgs)]
            [uuid(EAB2349E-66F5-47F9-9FB5-459C5198C720)]
            interface ICallStateChangeEventArgs : IInspectable
            {
                [propget] HRESULT State([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallState* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.IncomingVoipPhoneCallOptions)]
            [uuid(4379FCD6-DDD0-5E9B-81D8-5110495764AE)]
            interface IIncomingVoipPhoneCallOptions : IInspectable
            {
                [propget] HRESULT Context([out] [retval] HSTRING* value);
                [propput] HRESULT Context([in] HSTRING value);
                [propget] HRESULT ContactName([out] [retval] HSTRING* value);
                [propput] HRESULT ContactName([in] HSTRING value);
                [propget] HRESULT ContactNumber([out] [retval] HSTRING* value);
                [propput] HRESULT ContactNumber([in] HSTRING value);
                [propget] HRESULT ContactImage([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ContactImage([in] Windows.Foundation.Uri* value);
                [propget] HRESULT ServiceName([out] [retval] HSTRING* value);
                [propput] HRESULT ServiceName([in] HSTRING value);
                [propget] HRESULT BrandingImage([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT BrandingImage([in] Windows.Foundation.Uri* value);
                [propget] HRESULT CallDetails([out] [retval] HSTRING* value);
                [propput] HRESULT CallDetails([in] HSTRING value);
                [propget] HRESULT Ringtone([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Ringtone([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia value);
                [propget] HRESULT RingTimeout([out] [retval] Windows.Foundation.TimeSpan* value);
                [propput] HRESULT RingTimeout([in] Windows.Foundation.TimeSpan value);
                [propget] HRESULT ContactRemoteId([out] [retval] HSTRING* value);
                [propput] HRESULT ContactRemoteId([in] HSTRING value);
                [propget] HRESULT AssociatedDeviceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.IncomingVoipPhoneCallOptions)]
            [uuid(74062DE4-08F0-5649-BD80-89EA87185C78)]
            interface IIncomingVoipPhoneCallOptionsFactory : IInspectable
            {
                HRESULT CreateInstance([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds, [out] [retval] Windows.ApplicationModel.Calls.IncomingVoipPhoneCallOptions** value);
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallEndCallDeferral)]
            [uuid(2DD7ED0D-98ED-4041-9632-50FF812B773F)]
            interface ILockScreenCallEndCallDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs)]
            [uuid(8190A363-6F27-46E9-AEB6-C0AE83E47DC7)]
            interface ILockScreenCallEndRequestedEventArgs : IInspectable
            {
                HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.Calls.LockScreenCallEndCallDeferral** value);
                [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallUI)]
            [uuid(C596FD8D-73C9-4A14-B021-EC1C50A3B727)]
            interface ILockScreenCallUI : IInspectable
            {
                HRESULT Dismiss();
                [eventadd] HRESULT EndRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EndRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
                [propget] HRESULT CallTitle([out] [retval] HSTRING* value);
                [propput] HRESULT CallTitle([in] HSTRING value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.MuteChangeEventArgs)]
            [uuid(8585E159-0C41-432C-814D-C5F1FDF530BE)]
            interface IMuteChangeEventArgs : IInspectable
            {
                [propget] HRESULT Muted([out] [retval] boolean* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.OutgoingVoipPhoneCallOptions)]
            [uuid(D6C59B57-57BE-524F-9DC1-F2C12E5D1BCC)]
            interface IOutgoingVoipPhoneCallOptions : IInspectable
            {
                [propget] HRESULT Context([out] [retval] HSTRING* value);
                [propput] HRESULT Context([in] HSTRING value);
                [propget] HRESULT ContactName([out] [retval] HSTRING* value);
                [propput] HRESULT ContactName([in] HSTRING value);
                [propget] HRESULT ServiceName([out] [retval] HSTRING* value);
                [propput] HRESULT ServiceName([in] HSTRING value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia value);
                [propget] HRESULT AssociatedDeviceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.OutgoingVoipPhoneCallOptions)]
            [uuid(2EA2C6F4-0B7A-5789-9D33-FE3271FDEFA8)]
            interface IOutgoingVoipPhoneCallOptionsFactory : IInspectable
            {
                HRESULT CreateInstance([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds, [out] [retval] Windows.ApplicationModel.Calls.OutgoingVoipPhoneCallOptions** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCall)]
            [uuid(C14ED0F8-C17D-59D2-9628-66E545B6CD21)]
            interface IPhoneCall : IInspectable
            {
                [eventadd] HRESULT StatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneCall*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT AudioDeviceChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneCall*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AudioDeviceChanged([in] EventRegistrationToken token);
                [eventadd] HRESULT IsMutedChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneCall*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT IsMutedChanged([in] EventRegistrationToken token);
                [propget] HRESULT CallId([out] [retval] HSTRING* value);
                [propget] HRESULT IsMuted([out] [retval] boolean* value);
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Calls.PhoneCallStatus* value);
                [propget] HRESULT AudioDevice([out] [retval] Windows.ApplicationModel.Calls.PhoneCallAudioDevice* value);
                HRESULT GetPhoneCallInfo([out] [retval] Windows.ApplicationModel.Calls.PhoneCallInfo** result);
                HRESULT GetPhoneCallInfoAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallInfo*>** operation);
                HRESULT End([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT EndAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT SendDtmfKey([in] Windows.ApplicationModel.Calls.DtmfKey key, [in] Windows.ApplicationModel.Calls.DtmfToneAudioPlayback dtmfToneAudioPlayback, [out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT SendDtmfKeyAsync([in] Windows.ApplicationModel.Calls.DtmfKey key, [in] Windows.ApplicationModel.Calls.DtmfToneAudioPlayback dtmfToneAudioPlayback, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT AcceptIncoming([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT AcceptIncomingAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT Hold([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT HoldAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT ResumeFromHold([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT ResumeFromHoldAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT Mute([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT MuteAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT Unmute([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT UnmuteAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT RejectIncoming([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT RejectIncomingAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
                HRESULT ChangeAudioDevice([in] Windows.ApplicationModel.Calls.PhoneCallAudioDevice endpoint, [out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* result);
                HRESULT ChangeAudioDeviceAsync([in] Windows.ApplicationModel.Calls.PhoneCallAudioDevice endpoint, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallOperationStatus>** operation);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallBlocking)]
            [uuid(19646F84-2B79-26F1-A46F-694BE043F313)]
            interface IPhoneCallBlockingStatics : IInspectable
            {
                [propget] HRESULT BlockUnknownNumbers([out] [retval] boolean* value);
                [propput] HRESULT BlockUnknownNumbers([in] boolean value);
                [propget] HRESULT BlockPrivateNumbers([out] [retval] boolean* value);
                [propput] HRESULT BlockPrivateNumbers([in] boolean value);
                HRESULT SetCallBlockingListAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* phoneNumberList, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryEntry)]
            [uuid(FAB0E129-32A4-4B85-83D1-F90D8C23A857)]
            interface IPhoneCallHistoryEntry : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT Address([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryAddress** value);
                [propput] HRESULT Address([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryAddress* value);
                [propget] HRESULT Duration([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                [propput] HRESULT Duration([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                [propget] HRESULT IsCallerIdBlocked([out] [retval] boolean* value);
                [propput] HRESULT IsCallerIdBlocked([in] boolean value);
                [propget] HRESULT IsEmergency([out] [retval] boolean* value);
                [propput] HRESULT IsEmergency([in] boolean value);
                [propget] HRESULT IsIncoming([out] [retval] boolean* value);
                [propput] HRESULT IsIncoming([in] boolean value);
                [propget] HRESULT IsMissed([out] [retval] boolean* value);
                [propput] HRESULT IsMissed([in] boolean value);
                [propget] HRESULT IsRinging([out] [retval] boolean* value);
                [propput] HRESULT IsRinging([in] boolean value);
                [propget] HRESULT IsSeen([out] [retval] boolean* value);
                [propput] HRESULT IsSeen([in] boolean value);
                [propget] HRESULT IsSuppressed([out] [retval] boolean* value);
                [propput] HRESULT IsSuppressed([in] boolean value);
                [propget] HRESULT IsVoicemail([out] [retval] boolean* value);
                [propput] HRESULT IsVoicemail([in] boolean value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryMedia value);
                [propget] HRESULT OtherAppReadAccess([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryOtherAppReadAccess* value);
                [propput] HRESULT OtherAppReadAccess([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryOtherAppReadAccess value);
                [propget] HRESULT RemoteId([out] [retval] HSTRING* value);
                [propput] HRESULT RemoteId([in] HSTRING value);
                [propget] HRESULT SourceDisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT SourceId([out] [retval] HSTRING* value);
                [propput] HRESULT SourceId([in] HSTRING value);
                [propget] HRESULT SourceIdKind([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistorySourceIdKind* value);
                [propput] HRESULT SourceIdKind([in] Windows.ApplicationModel.Calls.PhoneCallHistorySourceIdKind value);
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT StartTime([in] Windows.Foundation.DateTime value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryEntryAddress)]
            [uuid(30F159DA-3955-4042-84E6-66EEBF82E67F)]
            interface IPhoneCallHistoryEntryAddress : IInspectable
            {
                [propget] HRESULT ContactId([out] [retval] HSTRING* value);
                [propput] HRESULT ContactId([in] HSTRING value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT RawAddress([out] [retval] HSTRING* value);
                [propput] HRESULT RawAddress([in] HSTRING value);
                [propget] HRESULT RawAddressKind([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryRawAddressKind* value);
                [propput] HRESULT RawAddressKind([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryRawAddressKind value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryEntryAddress)]
            [uuid(FB0FADBA-C7F0-4BB6-9F6B-BA5D73209ACA)]
            interface IPhoneCallHistoryEntryAddressFactory : IInspectable
            {
                HRESULT Create([in] HSTRING rawAddress, [in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryRawAddressKind rawAddressKind, [out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryAddress** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryEntryQueryOptions)]
            [uuid(9C5FE15C-8BED-40CA-B06E-C4CA8EAE5C87)]
            interface IPhoneCallHistoryEntryQueryOptions : IInspectable
            {
                [propget] HRESULT DesiredMedia([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryQueryDesiredMedia* value);
                [propput] HRESULT DesiredMedia([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryQueryDesiredMedia value);
                [propget] HRESULT SourceIds([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryEntryReader)]
            [uuid(61ECE4BE-8D86-479F-8404-A9846920FEE6)]
            interface IPhoneCallHistoryEntryReader : IInspectable
            {
                HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryManagerForUser)]
            [uuid(D925C523-F55F-4353-9DB4-0205A5265A55)]
            interface IPhoneCallHistoryManagerForUser : IInspectable
            {
                HRESULT RequestStoreAsync([in] Windows.ApplicationModel.Calls.PhoneCallHistoryStoreAccessType accessType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallHistoryStore*>** result);
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryManager)]
            [uuid(F5A6DA39-B31F-4F45-AC8E-1B08893C1B50)]
            interface IPhoneCallHistoryManagerStatics : IInspectable
            {
                HRESULT RequestStoreAsync([in] Windows.ApplicationModel.Calls.PhoneCallHistoryStoreAccessType accessType, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallHistoryStore*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryManager)]
            [uuid(EFD474F0-A2DB-4188-9E92-BC3CFA6813CF)]
            interface IPhoneCallHistoryManagerStatics2 : IInspectable
            {
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryManagerForUser** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallHistoryStore)]
            [uuid(2F907DB8-B40E-422B-8545-CB1910A61C52)]
            interface IPhoneCallHistoryStore : IInspectable
            {
                HRESULT GetEntryAsync([in] HSTRING callHistoryEntryId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>** result);
                [overload("GetEntryReader")] HRESULT GetEntryReader([out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryReader** result);
                [overload("GetEntryReader")] HRESULT GetEntryReaderWithOptions([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryQueryOptions* queryOptions, [out] [retval] Windows.ApplicationModel.Calls.PhoneCallHistoryEntryReader** result);
                HRESULT SaveEntryAsync([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntry* callHistoryEntry, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT DeleteEntryAsync([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntry* callHistoryEntry, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT DeleteEntriesAsync([in] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>* callHistoryEntries, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT MarkEntryAsSeenAsync([in] Windows.ApplicationModel.Calls.PhoneCallHistoryEntry* callHistoryEntry, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT MarkEntriesAsSeenAsync([in] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Calls.PhoneCallHistoryEntry*>* callHistoryEntries, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT GetUnseenCountAsync([out] [retval] Windows.Foundation.IAsyncOperation<UINT32>** result);
                HRESULT MarkAllAsSeenAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT GetSourcesUnseenCountAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* sourceIds, [out] [retval] Windows.Foundation.IAsyncOperation<UINT32>** result);
                HRESULT MarkSourcesAsSeenAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* sourceIds, [out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallInfo)]
            [uuid(22B42577-3E4D-5DC6-89C2-469FE5FFC189)]
            interface IPhoneCallInfo : IInspectable
            {
                [propget] HRESULT LineId([out] [retval] GUID* value);
                [propget] HRESULT IsHoldSupported([out] [retval] boolean* value);
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT PhoneNumber([out] [retval] HSTRING* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT CallDirection([out] [retval] Windows.ApplicationModel.Calls.PhoneCallDirection* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallManager)]
            [uuid(60EDAC78-78A6-4872-A3EF-98325EC8B843)]
            interface IPhoneCallManagerStatics : IInspectable
            {
                HRESULT ShowPhoneCallUI([in] HSTRING phoneNumber, [in] HSTRING displayName);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallManager)]
            [uuid(C7E3C8BC-2370-431C-98FD-43BE5F03086D)]
            interface IPhoneCallManagerStatics2 : IInspectable
            {
                [eventadd] HRESULT CallStateChanged([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT CallStateChanged([in] EventRegistrationToken token);
                [propget] HRESULT IsCallActive([out] [retval] boolean* value);
                [propget] HRESULT IsCallIncoming([out] [retval] boolean* value);
                HRESULT ShowPhoneCallSettingsUI();
                HRESULT RequestStoreAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallStore*>** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCall)]
            [uuid(2218EEAB-F60B-53E7-BA13-5AEAFBC22957)]
            interface IPhoneCallStatics : IInspectable
            {
                HRESULT GetFromId([in] HSTRING callId, [out] [retval] Windows.ApplicationModel.Calls.PhoneCall** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallStore)]
            [uuid(5F610748-18A6-4173-86D1-28BE9DC62DBA)]
            interface IPhoneCallStore : IInspectable
            {
                HRESULT IsEmergencyPhoneNumberAsync([in] HSTRING number, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT GetDefaultLineAsync([out] [retval] Windows.Foundation.IAsyncOperation<GUID>** result);
                HRESULT RequestLineWatcher([out] [retval] Windows.ApplicationModel.Calls.PhoneLineWatcher** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallVideoCapabilities)]
            [uuid(02382786-B16A-4FDB-BE3B-C4240E13AD0D)]
            interface IPhoneCallVideoCapabilities : IInspectable
            {
                [propget] HRESULT IsVideoCallingCapable([out] [retval] boolean* pValue);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallVideoCapabilitiesManager)]
            [uuid(F3C64B56-F00B-4A1C-A0C6-EE1910749CE7)]
            interface IPhoneCallVideoCapabilitiesManagerStatics : IInspectable
            {
                HRESULT GetCapabilitiesAsync([in] HSTRING phoneNumber, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallVideoCapabilities*>** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneCallsResult)]
            [uuid(1BFAD365-57CF-57DD-986D-B057C91EAC33)]
            interface IPhoneCallsResult : IInspectable
            {
                [propget] HRESULT OperationStatus([out] [retval] Windows.ApplicationModel.Calls.PhoneLineOperationStatus* value);
                [propget] HRESULT AllActivePhoneCalls([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Calls.PhoneCall*>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneDialOptions)]
            [uuid(B639C4B8-F06F-36CB-A863-823742B5F2D4)]
            interface IPhoneDialOptions : IInspectable
            {
                [propget] HRESULT Number([out] [retval] HSTRING* value);
                [propput] HRESULT Number([in] HSTRING value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT Contact([out] [retval] Windows.ApplicationModel.Contacts.Contact** value);
                [propput] HRESULT Contact([in] Windows.ApplicationModel.Contacts.Contact* value);
                [propget] HRESULT ContactPhone([out] [retval] Windows.ApplicationModel.Contacts.ContactPhone** value);
                [propput] HRESULT ContactPhone([in] Windows.ApplicationModel.Contacts.ContactPhone* value);
                [propget] HRESULT Media([out] [retval] Windows.ApplicationModel.Calls.PhoneCallMedia* value);
                [propput] HRESULT Media([in] Windows.ApplicationModel.Calls.PhoneCallMedia value);
                [propget] HRESULT AudioEndpoint([out] [retval] Windows.ApplicationModel.Calls.PhoneAudioRoutingEndpoint* value);
                [propput] HRESULT AudioEndpoint([in] Windows.ApplicationModel.Calls.PhoneAudioRoutingEndpoint value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLine)]
            [uuid(27C66F30-6A69-34CA-A2BA-65302530C311)]
            interface IPhoneLine : IInspectable
            {
                [eventadd] HRESULT LineChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLine*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LineChanged([in] EventRegistrationToken token);
                [propget] HRESULT Id([out] [retval] GUID* value);
                [propget] HRESULT DisplayColor([out] [retval] Windows.UI.Color* value);
                [propget] HRESULT NetworkState([out] [retval] Windows.ApplicationModel.Calls.PhoneNetworkState* value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT Voicemail([out] [retval] Windows.ApplicationModel.Calls.PhoneVoicemail** value);
                [propget] HRESULT NetworkName([out] [retval] HSTRING* value);
                [propget] HRESULT CellularDetails([out] [retval] Windows.ApplicationModel.Calls.PhoneLineCellularDetails** value);
                [propget] HRESULT Transport([out] [retval] Windows.ApplicationModel.Calls.PhoneLineTransport* value);
                [propget] HRESULT CanDial([out] [retval] boolean* value);
                [propget] HRESULT SupportsTile([out] [retval] boolean* value);
                [propget] HRESULT VideoCallingCapabilities([out] [retval] Windows.ApplicationModel.Calls.PhoneCallVideoCapabilities** value);
                [propget] HRESULT LineConfiguration([out] [retval] Windows.ApplicationModel.Calls.PhoneLineConfiguration** value);
                HRESULT IsImmediateDialNumberAsync([in] HSTRING number, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT Dial([in] HSTRING number, [in] HSTRING displayName);
                HRESULT DialWithOptions([in] Windows.ApplicationModel.Calls.PhoneDialOptions* options);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLine)]
            [uuid(0167F56A-5344-5D64-8AF3-A31A950E916A)]
            interface IPhoneLine2 : IInspectable
            {
                [deprecated("EnableTextReply is deprecated and might not work for all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.Calls.CallsPhoneContract, 7.0)] HRESULT EnableTextReply([in] boolean value);
                [propget] HRESULT TransportDeviceId([out] [retval] HSTRING* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLine)]
            [uuid(E2E33CF7-2406-57F3-826A-E5A5F40D6FB5)]
            interface IPhoneLine3 : IInspectable
            {
                HRESULT DialWithResult([in] HSTRING number, [in] HSTRING displayName, [out] [retval] Windows.ApplicationModel.Calls.PhoneLineDialResult** result);
                HRESULT DialWithResultAsync([in] HSTRING number, [in] HSTRING displayName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneLineDialResult*>** operation);
                HRESULT GetAllActivePhoneCalls([out] [retval] Windows.ApplicationModel.Calls.PhoneCallsResult** result);
                HRESULT GetAllActivePhoneCallsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneCallsResult*>** operation);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineCellularDetails)]
            [uuid(192601D5-147C-4769-B673-98A5EC8426CB)]
            interface IPhoneLineCellularDetails : IInspectable
            {
                [propget] HRESULT SimState([out] [retval] Windows.ApplicationModel.Calls.PhoneSimState* value);
                [propget] HRESULT SimSlotIndex([out] [retval] INT32* value);
                [propget] HRESULT IsModemOn([out] [retval] boolean* value);
                [propget] HRESULT RegistrationRejectCode([out] [retval] INT32* value);
                HRESULT GetNetworkOperatorDisplayText([in] Windows.ApplicationModel.Calls.PhoneLineNetworkOperatorDisplayTextLocation location, [out] [retval] HSTRING* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineConfiguration)]
            [uuid(FE265862-F64F-4312-B2A8-4E257721AA95)]
            interface IPhoneLineConfiguration : IInspectable
            {
                [propget] HRESULT IsVideoCallingEnabled([out] [retval] boolean* value);
                [propget] HRESULT ExtendedProperties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineDialResult)]
            [uuid(E825A30A-5C7F-546F-B918-3AD2FE70FB34)]
            interface IPhoneLineDialResult : IInspectable
            {
                [propget] HRESULT DialCallStatus([out] [retval] Windows.ApplicationModel.Calls.PhoneCallOperationStatus* value);
                [propget] HRESULT DialedCall([out] [retval] Windows.ApplicationModel.Calls.PhoneCall** value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLine)]
            [uuid(F38B5F23-CEB0-404F-BCF2-BA9F697D8ADF)]
            interface IPhoneLineStatics : IInspectable
            {
                HRESULT FromIdAsync([in] GUID lineId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.PhoneLine*>** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineTransportDevice)]
            [uuid(EFA8F889-CFFA-59F4-97E4-74705B7DC490)]
            interface IPhoneLineTransportDevice : IInspectable
            {
                [propget] HRESULT DeviceId([out] [retval] HSTRING* value);
                [propget] HRESULT Transport([out] [retval] Windows.ApplicationModel.Calls.PhoneLineTransport* value);
                HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceAccessStatus>** operation);
                HRESULT RegisterApp();
                HRESULT RegisterAppForUser([in] Windows.System.User* user);
                HRESULT UnregisterApp();
                HRESULT UnregisterAppForUser([in] Windows.System.User* user);
                HRESULT IsRegistered([out] [retval] boolean* result);
                HRESULT Connect([out] [retval] boolean* result);
                HRESULT ConnectAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineTransportDevice)]
            [uuid(64C885F2-ECF4-5761-8C04-3C248CE61690)]
            interface IPhoneLineTransportDevice2 : IInspectable
            {
                [propget] HRESULT AudioRoutingStatus([out] [retval] Windows.ApplicationModel.Calls.TransportDeviceAudioRoutingStatus* value);
                [eventadd] HRESULT AudioRoutingStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineTransportDevice*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AudioRoutingStatusChanged([in] EventRegistrationToken token);
                [propget] HRESULT InBandRingingEnabled([out] [retval] boolean* value);
                [eventadd] HRESULT InBandRingingEnabledChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineTransportDevice*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT InBandRingingEnabledChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineTransportDevice)]
            [uuid(0F3121AC-D609-51A1-96F3-FB00D1819252)]
            interface IPhoneLineTransportDeviceStatics : IInspectable
            {
                HRESULT FromId([in] HSTRING id, [out] [retval] Windows.ApplicationModel.Calls.PhoneLineTransportDevice** result);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelector([out] [retval] HSTRING* result);
                [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorForPhoneLineTransport([in] Windows.ApplicationModel.Calls.PhoneLineTransport transport, [out] [retval] HSTRING* result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineWatcher)]
            [uuid(8A45CD0A-6323-44E0-A6F6-9F21F64DC90A)]
            interface IPhoneLineWatcher : IInspectable
            {
                HRESULT Start();
                HRESULT Stop();
                [eventadd] HRESULT LineAdded([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LineAdded([in] EventRegistrationToken token);
                [eventadd] HRESULT LineRemoved([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LineRemoved([in] EventRegistrationToken token);
                [eventadd] HRESULT LineUpdated([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LineUpdated([in] EventRegistrationToken token);
                [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
                [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.PhoneLineWatcher*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Calls.PhoneLineWatcherStatus* status);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs)]
            [uuid(D07C753E-9E12-4A37-82B7-AD535DAD6A67)]
            interface IPhoneLineWatcherEventArgs : IInspectable
            {
                [propget] HRESULT LineId([out] [retval] GUID* value);
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.PhoneVoicemail)]
            [uuid(C9CE77F6-6E9F-3A8B-B727-6E0CF6998224)]
            interface IPhoneVoicemail : IInspectable
            {
                [propget] HRESULT Number([out] [retval] HSTRING* value);
                [propget] HRESULT MessageCount([out] [retval] INT32* value);
                [propget] HRESULT Type([out] [retval] Windows.ApplicationModel.Calls.PhoneVoicemailType* value);
                HRESULT DialVoicemailAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(4F118BCF-E8EF-4434-9C5F-A8D893FAFE79)]
            interface IVoipCallCoordinator : IInspectable
            {
                HRESULT ReserveCallResourcesAsync([in] HSTRING taskEntryPoint, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.VoipPhoneCallResourceReservationStatus>** operation);
                [eventadd] HRESULT MuteStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipCallCoordinator*, Windows.ApplicationModel.Calls.MuteChangeEventArgs*>* muteChangeHandler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MuteStateChanged([in] EventRegistrationToken token);
                HRESULT RequestNewIncomingCall([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING contactNumber, [in] Windows.Foundation.Uri* contactImage, [in] HSTRING serviceName, [in] Windows.Foundation.Uri* brandingImage, [in] HSTRING callDetails, [in] Windows.Foundation.Uri* ringtone, [in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media, [in] Windows.Foundation.TimeSpan ringTimeout, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
                HRESULT RequestNewOutgoingCall([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING serviceName, [in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
                HRESULT NotifyMuted();
                HRESULT NotifyUnmuted();
                HRESULT RequestOutgoingUpgradeToVideoCall([in] GUID callUpgradeGuid, [in] HSTRING context, [in] HSTRING contactName, [in] HSTRING serviceName, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
                HRESULT RequestIncomingUpgradeToVideoCall([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING contactNumber, [in] Windows.Foundation.Uri* contactImage, [in] HSTRING serviceName, [in] Windows.Foundation.Uri* brandingImage, [in] HSTRING callDetails, [in] Windows.Foundation.Uri* ringtone, [in] Windows.Foundation.TimeSpan ringTimeout, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
                HRESULT TerminateCellularCall([in] GUID callUpgradeGuid);
                HRESULT CancelUpgrade([in] GUID callUpgradeGuid);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 2.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(BEB4A9F3-C704-4234-89CE-E88CC0D28FBE)]
            interface IVoipCallCoordinator2 : IInspectable
                requires
                    Windows.ApplicationModel.Calls.IVoipCallCoordinator
            {
                HRESULT SetupNewAcceptedCall([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING contactNumber, [in] HSTRING serviceName, [in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(338D0CBF-9B55-4021-87CA-E64B9BD666C7)]
            interface IVoipCallCoordinator3 : IInspectable
                requires
                    Windows.ApplicationModel.Calls.IVoipCallCoordinator
            {
                HRESULT RequestNewAppInitiatedCall([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING contactNumber, [in] HSTRING serviceName, [in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
                [overload("RequestNewIncomingCall")] HRESULT RequestNewIncomingCallWithContactRemoteId([in] HSTRING context, [in] HSTRING contactName, [in] HSTRING contactNumber, [in] Windows.Foundation.Uri* contactImage, [in] HSTRING serviceName, [in] Windows.Foundation.Uri* brandingImage, [in] HSTRING callDetails, [in] Windows.Foundation.Uri* ringtone, [in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media, [in] Windows.Foundation.TimeSpan ringTimeout, [in] HSTRING contactRemoteId, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** call);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 4.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(83737239-9311-468F-BB49-47E0DFB5D93E)]
            interface IVoipCallCoordinator4 : IInspectable
                requires
                    Windows.ApplicationModel.Calls.IVoipCallCoordinator
            {
                [overload("ReserveCallResourcesAsync")] HRESULT ReserveOneProcessCallResourcesAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Calls.VoipPhoneCallResourceReservationStatus>** operation);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(D4F79017-D1C1-5820-955E-7A1676355D00)]
            interface IVoipCallCoordinator5 : IInspectable
            {
                HRESULT RequestNewIncomingCallWithOptions([in] Windows.ApplicationModel.Calls.IncomingVoipPhoneCallOptions* callOptions, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** result);
                HRESULT RequestNewOutgoingCallWithOptions([in] Windows.ApplicationModel.Calls.OutgoingVoipPhoneCallOptions* callOptions, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** result);
                HRESULT SetupNewAcceptedCallWithOptions([in] Windows.ApplicationModel.Calls.AcceptedVoipPhoneCallOptions* callOptions, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** result);
                HRESULT RequestNewAppInitiatedCallWithOptions([in] Windows.ApplicationModel.Calls.AppInitiatedVoipPhoneCallOptions* callOptions, [out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCall** result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(7F5D1F2B-E04A-4D10-B31A-A55C922CC2FB)]
            interface IVoipCallCoordinatorStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.ApplicationModel.Calls.VoipCallCoordinator** coordinator);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipCallCoordinator)]
            [uuid(B8D0288B-01EA-5478-8404-A1FB06F2B83B)]
            interface IVoipCallCoordinatorStatics2 : IInspectable
            {
                HRESULT IsCallControlDeviceKindSupportedForAssociation([in] Windows.ApplicationModel.Calls.VoipCallControlDeviceKind kind, [out] [retval] boolean* result);
                HRESULT GetDeviceSelectorForCallControl([out] [retval] HSTRING* result);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipPhoneCall)]
            [uuid(6CF1F19A-7794-4A5A-8C68-AE87947A6990)]
            interface IVoipPhoneCall : IInspectable
            {
                [eventadd] HRESULT EndRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallStateChangeEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EndRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT HoldRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallStateChangeEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT HoldRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT ResumeRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallStateChangeEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ResumeRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT AnswerRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallAnswerEventArgs*>* acceptHandler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT AnswerRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT RejectRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.VoipPhoneCall*, Windows.ApplicationModel.Calls.CallRejectEventArgs*>* rejectHandler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RejectRequested([in] EventRegistrationToken token);
                HRESULT NotifyCallHeld();
                HRESULT NotifyCallActive();
                HRESULT NotifyCallEnded();
                [propget] HRESULT ContactName([out] [retval] HSTRING* value);
                [propput] HRESULT ContactName([in] HSTRING value);
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT StartTime([in] Windows.Foundation.DateTime value);
                [propget] HRESULT CallMedia([out] [retval] Windows.ApplicationModel.Calls.VoipPhoneCallMedia* value);
                [propput] HRESULT CallMedia([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia value);
                HRESULT NotifyCallReady();
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 2.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipPhoneCall)]
            [uuid(741B46E1-245F-41F3-9399-3141D25B52E3)]
            interface IVoipPhoneCall2 : IInspectable
                requires
                    Windows.ApplicationModel.Calls.IVoipPhoneCall
            {
                HRESULT TryShowAppUI();
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipPhoneCall)]
            [uuid(0D891522-E258-4AA9-907A-1AA413C25523)]
            interface IVoipPhoneCall3 : IInspectable
                requires
                    Windows.ApplicationModel.Calls.IVoipPhoneCall2,
                    Windows.ApplicationModel.Calls.IVoipPhoneCall
            {
                HRESULT NotifyCallAccepted([in] Windows.ApplicationModel.Calls.VoipPhoneCallMedia media);
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [exclusiveto(Windows.ApplicationModel.Calls.VoipPhoneCall)]
            [uuid(EBA66290-AD6D-5899-BDDA-81BFE9F999A1)]
            interface IVoipPhoneCall4 : IInspectable
            {
                [propget] HRESULT IsUsingAssociatedDevicesList([out] [retval] boolean* value);
                [overload("NotifyCallActive")] HRESULT NotifyCallActiveOnDevices([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds);
                HRESULT AddAssociatedCallControlDevice([in] HSTRING deviceId);
                HRESULT RemoveAssociatedCallControlDevice([in] HSTRING deviceId);
                HRESULT SetAssociatedCallControlDevices([in] Windows.Foundation.Collections.IIterable<HSTRING>* associatedDeviceIds);
                HRESULT GetAssociatedCallControlDevices([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** result);
            }

            [activatable(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [activatable(Windows.ApplicationModel.Calls.IAcceptedVoipPhoneCallOptionsFactory, Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AcceptedVoipPhoneCallOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IAcceptedVoipPhoneCallOptions;
            }

            [activatable(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [activatable(Windows.ApplicationModel.Calls.IAppInitiatedVoipPhoneCallOptionsFactory, Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppInitiatedVoipPhoneCallOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IAppInitiatedVoipPhoneCallOptions;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CallAnswerEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.ICallAnswerEventArgs;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)] interface Windows.ApplicationModel.Calls.ICallAnswerEventArgs2;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CallRejectEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.ICallRejectEventArgs;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CallStateChangeEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.ICallStateChangeEventArgs;
            }

            [activatable(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [activatable(Windows.ApplicationModel.Calls.IIncomingVoipPhoneCallOptionsFactory, Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass IncomingVoipPhoneCallOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IIncomingVoipPhoneCallOptions;
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LockScreenCallEndCallDeferral
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallEndCallDeferral;
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LockScreenCallEndRequestedEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallEndRequestedEventArgs;
            }

            [contract(Windows.ApplicationModel.Calls.LockScreenCallContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LockScreenCallUI
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallUI;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MuteChangeEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.IMuteChangeEventArgs;
            }

            [activatable(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [activatable(Windows.ApplicationModel.Calls.IOutgoingVoipPhoneCallOptionsFactory, Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass OutgoingVoipPhoneCallOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IOutgoingVoipPhoneCallOptions;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [threading(both)]
            runtimeclass PhoneCall
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCall;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallBlockingStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [threading(both)]
            runtimeclass PhoneCallBlocking
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallHistoryEntry
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryEntry;
            }

            [activatable(Windows.ApplicationModel.Calls.IPhoneCallHistoryEntryAddressFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallHistoryEntryAddress
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryEntryAddress;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallHistoryEntryQueryOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryEntryQueryOptions;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallHistoryEntryReader
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryEntryReader;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallHistoryManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallHistoryManagerStatics2, Windows.Foundation.UniversalApiContract, 3.0)]
            [threading(both)]
            runtimeclass PhoneCallHistoryManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            runtimeclass PhoneCallHistoryManagerForUser
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryManagerForUser;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallHistoryStore
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallHistoryStore;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass PhoneCallInfo
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallInfo;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallManagerStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallManagerStatics2, Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [threading(both)]
            runtimeclass PhoneCallManager
            {
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallStore
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallStore;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneCallVideoCapabilities
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallVideoCapabilities;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneCallVideoCapabilitiesManagerStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [threading(both)]
            runtimeclass PhoneCallVideoCapabilitiesManager
            {
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass PhoneCallsResult
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneCallsResult;
            }

            [activatable(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneDialOptions
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneDialOptions;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneLineStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [threading(both)]
            runtimeclass PhoneLine
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLine;
                [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)] interface Windows.ApplicationModel.Calls.IPhoneLine2;
                [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)] interface Windows.ApplicationModel.Calls.IPhoneLine3;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneLineCellularDetails
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineCellularDetails;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneLineConfiguration
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineConfiguration;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)]
            [marshaling_behavior(agile)]
            runtimeclass PhoneLineDialResult
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineDialResult;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IPhoneLineTransportDeviceStatics, Windows.ApplicationModel.Calls.CallsPhoneContract, 5.0)]
            [threading(both)]
            runtimeclass PhoneLineTransportDevice
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineTransportDevice;
                [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 6.0)] interface Windows.ApplicationModel.Calls.IPhoneLineTransportDevice2;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneLineWatcher
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineWatcher;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneLineWatcherEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneLineWatcherEventArgs;
            }

            [contract(Windows.ApplicationModel.Calls.CallsPhoneContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhoneVoicemail
            {
                [default] interface Windows.ApplicationModel.Calls.IPhoneVoicemail;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Calls.IVoipCallCoordinatorStatics, Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [static(Windows.ApplicationModel.Calls.IVoipCallCoordinatorStatics2, Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)]
            runtimeclass VoipCallCoordinator
            {
                [default] interface Windows.ApplicationModel.Calls.IVoipCallCoordinator;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 2.0)] interface Windows.ApplicationModel.Calls.IVoipCallCoordinator2;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 3.0)] interface Windows.ApplicationModel.Calls.IVoipCallCoordinator3;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 4.0)] interface Windows.ApplicationModel.Calls.IVoipCallCoordinator4;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)] interface Windows.ApplicationModel.Calls.IVoipCallCoordinator5;
            }

            [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass VoipPhoneCall
            {
                [default] interface Windows.ApplicationModel.Calls.IVoipPhoneCall;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 2.0)] interface Windows.ApplicationModel.Calls.IVoipPhoneCall2;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 3.0)] interface Windows.ApplicationModel.Calls.IVoipPhoneCall3;
                [contract(Windows.ApplicationModel.Calls.CallsVoipContract, 5.0)] interface Windows.ApplicationModel.Calls.IVoipPhoneCall4;
            }
        }
    }
}
