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

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

        interface IClosable;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Networking
    {
        typedef enum DomainNameType DomainNameType;

        runtimeclass EndpointPair;

        runtimeclass HostName;

        typedef enum HostNameSortOptions HostNameSortOptions;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace Networking
    {
        namespace Connectivity
        {
            apicontract WwanContract;

            typedef enum CellularApnAuthenticationType CellularApnAuthenticationType;

            typedef enum ConnectionProfileDeleteStatus ConnectionProfileDeleteStatus;

            typedef enum DataUsageGranularity DataUsageGranularity;

            typedef enum DomainAuthenticationKind DomainAuthenticationKind;

            typedef enum DomainConnectivityLevel DomainConnectivityLevel;

            typedef enum NetworkAuthenticationType NetworkAuthenticationType;

            typedef enum NetworkConnectivityLevel NetworkConnectivityLevel;

            typedef enum NetworkCostType NetworkCostType;

            typedef enum NetworkEncryptionType NetworkEncryptionType;

            typedef enum NetworkTypes NetworkTypes;

            typedef enum RoamingStates RoamingStates;

            typedef enum TriStates TriStates;

            typedef enum WwanDataClass WwanDataClass;

            typedef enum WwanNetworkIPKind WwanNetworkIPKind;

            typedef enum WwanNetworkRegistrationState WwanNetworkRegistrationState;

            typedef struct NetworkUsageStates NetworkUsageStates;

            delegate NetworkStatusChangedEventHandler;

            interface IAttributedNetworkUsage;

            interface ICellularApnContext;

            interface ICellularApnContext2;

            interface IConnectionCost;

            interface IConnectionCost2;

            interface IConnectionProfile;

            interface IConnectionProfile2;

            interface IConnectionProfile3;

            interface IConnectionProfile4;

            interface IConnectionProfile5;

            interface IConnectionProfile6;

            interface IConnectionProfileFilter;

            interface IConnectionProfileFilter2;

            interface IConnectionProfileFilter3;

            interface IConnectionSession;

            interface IConnectivityInterval;

            interface IConnectivityManagerStatics;

            interface IDataPlanStatus;

            interface IDataPlanUsage;

            interface IDataUsage;

            interface IIPInformation;

            interface ILanIdentifier;

            interface ILanIdentifierData;

            interface INetworkAdapter;

            interface INetworkInformationStatics;

            interface INetworkInformationStatics2;

            interface INetworkItem;

            interface INetworkSecuritySettings;

            interface INetworkStateChangeEventDetails;

            interface INetworkStateChangeEventDetails2;

            interface INetworkUsage;

            interface IProviderNetworkUsage;

            interface IProxyConfiguration;

            interface IRoutePolicy;

            interface IRoutePolicyFactory;

            interface IWlanConnectionProfileDetails;

            interface IWwanConnectionProfileDetails;

            interface IWwanConnectionProfileDetails2;

            runtimeclass AttributedNetworkUsage;

            runtimeclass CellularApnContext;

            runtimeclass ConnectionCost;

            runtimeclass ConnectionProfile;

            runtimeclass ConnectionProfileFilter;

            runtimeclass ConnectionSession;

            runtimeclass ConnectivityInterval;

            runtimeclass ConnectivityManager;

            runtimeclass DataPlanStatus;

            runtimeclass DataPlanUsage;

            runtimeclass DataUsage;

            runtimeclass IPInformation;

            runtimeclass LanIdentifier;

            runtimeclass LanIdentifierData;

            runtimeclass NetworkAdapter;

            runtimeclass NetworkInformation;

            runtimeclass NetworkItem;

            runtimeclass NetworkSecuritySettings;

            runtimeclass NetworkStateChangeEventDetails;

            runtimeclass NetworkUsage;

            runtimeclass ProviderNetworkUsage;

            runtimeclass ProxyConfiguration;

            runtimeclass RoutePolicy;

            runtimeclass WlanConnectionProfileDetails;

            runtimeclass WwanConnectionProfileDetails;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Networking
    {
        namespace Connectivity
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.AttributedNetworkUsage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.ConnectionProfile*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.ConnectivityInterval*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.LanIdentifier*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.NetworkUsage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Networking.Connectivity.ProviderNetworkUsage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.AttributedNetworkUsage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.ConnectionProfile*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.ConnectivityInterval*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.LanIdentifier*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.NetworkUsage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Networking.Connectivity.ProviderNetworkUsage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.AttributedNetworkUsage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectionProfile*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectivityInterval*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.LanIdentifier*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.NetworkUsage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ProviderNetworkUsage*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.AttributedNetworkUsage*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectionProfile*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectivityInterval*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.NetworkUsage*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ProviderNetworkUsage*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionProfile*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionProfileDeleteStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionSession*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ProxyConfiguration*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Networking
    {
        namespace Connectivity
        {
            [contractversion(3.0)]
            apicontract WwanContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum CellularApnAuthenticationType
            {
                None     = 0,
                Pap      = 1,
                Chap     = 2,
                Mschapv2 = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            enum ConnectionProfileDeleteStatus
            {
                Success        = 0,
                DeniedByUser   = 1,
                DeniedBySystem = 2,
                UnknownError   = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum DataUsageGranularity
            {
                PerMinute = 0,
                PerHour   = 1,
                PerDay    = 2,
                Total     = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            enum DomainAuthenticationKind
            {
                None = 0,
                Ldap = 1,
                Tls  = 2
            };

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

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum NetworkAuthenticationType
            {
                None                  = 0,
                Unknown               = 1,
                Open80211             = 2,
                SharedKey80211        = 3,
                Wpa                   = 4,
                WpaPsk                = 5,
                WpaNone               = 6,
                Rsna                  = 7,
                RsnaPsk               = 8,
                Ihv                   = 9,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                Wpa3                  = 10,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                Wpa3Enterprise192Bits = 10,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                Wpa3Sae               = 11,
                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                Owe                   = 12,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                Wpa3Enterprise        = 13
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum NetworkConnectivityLevel
            {
                None                      = 0,
                LocalAccess               = 1,
                ConstrainedInternetAccess = 2,
                InternetAccess            = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum NetworkCostType
            {
                Unknown      = 0,
                Unrestricted = 1,
                Fixed        = 2,
                Variable     = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum NetworkEncryptionType
            {
                None        = 0,
                Unknown     = 1,
                Wep         = 2,
                Wep40       = 3,
                Wep104      = 4,
                Tkip        = 5,
                Ccmp        = 6,
                WpaUseGroup = 7,
                RsnUseGroup = 8,
                Ihv         = 9,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                Gcmp        = 10,
                [contract(Windows.Foundation.UniversalApiContract, 12.0)]
                Gcmp256     = 11
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum NetworkTypes
            {
                None           = 0x0,
                Internet       = 0x1,
                PrivateNetwork = 0x2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum RoamingStates
            {
                None       = 0x0,
                NotRoaming = 0x1,
                Roaming    = 0x2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TriStates
            {
                DoNotCare = 0,
                No        = 1,
                Yes       = 2
            };

            [contract(Windows.Networking.Connectivity.WwanContract, 1.0)]
            [flags]
            enum WwanDataClass
            {
                None                  = 0x0,
                Gprs                  = 0x1,
                Edge                  = 0x2,
                Umts                  = 0x4,
                Hsdpa                 = 0x8,
                Hsupa                 = 0x10,
                LteAdvanced           = 0x20,
                [contract(Windows.Networking.Connectivity.WwanContract, 3.0)]
                NewRadioNonStandalone = 0x40,
                [contract(Windows.Networking.Connectivity.WwanContract, 3.0)]
                NewRadioStandalone    = 0x80,
                Cdma1xRtt             = 0x10000,
                Cdma1xEvdo            = 0x20000,
                Cdma1xEvdoRevA        = 0x40000,
                Cdma1xEvdv            = 0x80000,
                Cdma3xRtt             = 0x100000,
                Cdma1xEvdoRevB        = 0x200000,
                CdmaUmb               = 0x400000,
                Custom                = 0x80000000
            };

            [contract(Windows.Networking.Connectivity.WwanContract, 2.0)]
            enum WwanNetworkIPKind
            {
                None         = 0,
                Ipv4         = 1,
                Ipv6         = 2,
                Ipv4v6       = 3,
                Ipv4v6v4Xlat = 4
            };

            [contract(Windows.Networking.Connectivity.WwanContract, 1.0)]
            enum WwanNetworkRegistrationState
            {
                None         = 0,
                Deregistered = 1,
                Searching    = 2,
                Home         = 3,
                Roaming      = 4,
                Partner      = 5,
                Denied       = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct NetworkUsageStates
            {
                Windows.Networking.Connectivity.TriStates Roaming;
                Windows.Networking.Connectivity.TriStates Shared;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(71BA143F-598E-49D0-84EB-8FEBAEDCC195)]
            delegate
                HRESULT NetworkStatusChangedEventHandler([in] IInspectable* sender);

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.AttributedNetworkUsage)]
            [uuid(F769B039-ECA2-45EB-ADE1-B0368B756C49)]
            interface IAttributedNetworkUsage : IInspectable
            {
                [propget] HRESULT BytesSent([out] [retval] UINT64* value);
                [propget] HRESULT BytesReceived([out] [retval] UINT64* value);
                [propget] HRESULT AttributionId([out] [retval] HSTRING* value);
                [propget] HRESULT AttributionName([out] [retval] HSTRING* value);
                [propget] HRESULT AttributionThumbnail([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.CellularApnContext)]
            [uuid(6FA529F4-EFFD-4542-9AB2-705BBF94943A)]
            interface ICellularApnContext : IInspectable
            {
                [propget] HRESULT ProviderId([out] [retval] HSTRING* value);
                [propput] HRESULT ProviderId([in] HSTRING value);
                [propget] HRESULT AccessPointName([out] [retval] HSTRING* value);
                [propput] HRESULT AccessPointName([in] HSTRING value);
                [propget] HRESULT UserName([out] [retval] HSTRING* value);
                [propput] HRESULT UserName([in] HSTRING value);
                [propget] HRESULT Password([out] [retval] HSTRING* value);
                [propput] HRESULT Password([in] HSTRING value);
                [propget] HRESULT IsCompressionEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsCompressionEnabled([in] boolean value);
                [propget] HRESULT AuthenticationType([out] [retval] Windows.Networking.Connectivity.CellularApnAuthenticationType* value);
                [propput] HRESULT AuthenticationType([in] Windows.Networking.Connectivity.CellularApnAuthenticationType value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Networking.Connectivity.CellularApnContext)]
            [uuid(76B0EB1A-AC49-4350-B1E5-DC4763BC69C7)]
            interface ICellularApnContext2 : IInspectable
            {
                [propget] HRESULT ProfileName([out] [retval] HSTRING* value);
                [propput] HRESULT ProfileName([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionCost)]
            [uuid(BAD7D829-3416-4B10-A202-BAC0B075BDAE)]
            interface IConnectionCost : IInspectable
            {
                [propget] HRESULT NetworkCostType([out] [retval] Windows.Networking.Connectivity.NetworkCostType* value);
                [propget] HRESULT Roaming([out] [retval] boolean* value);
                [propget] HRESULT OverDataLimit([out] [retval] boolean* value);
                [propget] HRESULT ApproachingDataLimit([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionCost)]
            [uuid(8E113A05-E209-4549-BB25-5E0DB691CB05)]
            interface IConnectionCost2 : IInspectable
            {
                [propget] HRESULT BackgroundDataUsageRestricted([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(71BA143C-598E-49D0-84EB-8FEBAEDCC195)]
            interface IConnectionProfile : IInspectable
            {
                [propget] HRESULT ProfileName([out] [retval] HSTRING* value);
                HRESULT GetNetworkConnectivityLevel([out] [retval] Windows.Networking.Connectivity.NetworkConnectivityLevel* value);
                HRESULT GetNetworkNames([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                HRESULT GetConnectionCost([out] [retval] Windows.Networking.Connectivity.ConnectionCost** value);
                HRESULT GetDataPlanStatus([out] [retval] Windows.Networking.Connectivity.DataPlanStatus** value);
                [propget] HRESULT NetworkAdapter([out] [retval] Windows.Networking.Connectivity.NetworkAdapter** value);
                [deprecated("GetLocalUsage may be altered or unavailable for releases after Windows 8.1. Instead, use GetNetworkUsageAsync.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [overload("GetLocalUsage")] HRESULT GetLocalUsage([in] Windows.Foundation.DateTime StartTime, [in] Windows.Foundation.DateTime EndTime, [out] [retval] Windows.Networking.Connectivity.DataUsage** value);
                [deprecated("GetLocalUsage may be altered or unavailable for releases after Windows 8.1. Instead, use GetNetworkUsageAsync.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [overload("GetLocalUsage")] HRESULT GetLocalUsagePerRoamingStates([in] Windows.Foundation.DateTime StartTime, [in] Windows.Foundation.DateTime EndTime, [in] Windows.Networking.Connectivity.RoamingStates States, [out] [retval] Windows.Networking.Connectivity.DataUsage** value);
                [propget] HRESULT NetworkSecuritySettings([out] [retval] Windows.Networking.Connectivity.NetworkSecuritySettings** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(E2045145-4C9F-400C-9150-7EC7D6E2888A)]
            interface IConnectionProfile2 : IInspectable
            {
                [propget] HRESULT IsWwanConnectionProfile([out] [retval] boolean* value);
                [propget] HRESULT IsWlanConnectionProfile([out] [retval] boolean* value);
                [propget] HRESULT WwanConnectionProfileDetails([out] [retval] Windows.Networking.Connectivity.WwanConnectionProfileDetails** value);
                [propget] HRESULT WlanConnectionProfileDetails([out] [retval] Windows.Networking.Connectivity.WlanConnectionProfileDetails** value);
                [propget] HRESULT ServiceProviderGuid([out] [retval] Windows.Foundation.IReference<GUID>** value);
                HRESULT GetSignalBars([out] [retval] Windows.Foundation.IReference<BYTE>** value);
                HRESULT GetDomainConnectivityLevel([out] [retval] Windows.Networking.Connectivity.DomainConnectivityLevel* value);
                HRESULT GetNetworkUsageAsync([in] Windows.Foundation.DateTime startTime, [in] Windows.Foundation.DateTime endTime, [in] Windows.Networking.Connectivity.DataUsageGranularity granularity, [in] Windows.Networking.Connectivity.NetworkUsageStates states, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.NetworkUsage*>*>** value);
                HRESULT GetConnectivityIntervalsAsync([in] Windows.Foundation.DateTime startTime, [in] Windows.Foundation.DateTime endTime, [in] Windows.Networking.Connectivity.NetworkUsageStates states, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectivityInterval*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(578C2528-4CD9-4161-8045-201CFD5B115C)]
            interface IConnectionProfile3 : IInspectable
            {
                HRESULT GetAttributedNetworkUsageAsync([in] Windows.Foundation.DateTime startTime, [in] Windows.Foundation.DateTime endTime, [in] Windows.Networking.Connectivity.NetworkUsageStates states, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.AttributedNetworkUsage*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(7A2D42CD-81E0-4AE6-ABED-AB9CA13EB714)]
            interface IConnectionProfile4 : IInspectable
            {
                HRESULT GetProviderNetworkUsageAsync([in] Windows.Foundation.DateTime startTime, [in] Windows.Foundation.DateTime endTime, [in] Windows.Networking.Connectivity.NetworkUsageStates states, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ProviderNetworkUsage*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(85361EC7-9C73-4BE0-8F14-578EEC71EE0E)]
            interface IConnectionProfile5 : IInspectable
            {
                [propget] HRESULT CanDelete([out] [retval] boolean* value);
                HRESULT TryDeleteAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionProfileDeleteStatus>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfile)]
            [uuid(DC27DFE2-7A6F-5D0E-9589-2FE2E5B6F9AA)]
            interface IConnectionProfile6 : IInspectable
            {
                HRESULT IsDomainAuthenticatedBy([in] Windows.Networking.Connectivity.DomainAuthenticationKind kind, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfileFilter)]
            [uuid(204C7CC8-BD2D-4E8D-A4B3-455EC337388A)]
            interface IConnectionProfileFilter : IInspectable
            {
                [propput] HRESULT IsConnected([in] boolean value);
                [propget] HRESULT IsConnected([out] [retval] boolean* value);
                [propput] HRESULT IsWwanConnectionProfile([in] boolean value);
                [propget] HRESULT IsWwanConnectionProfile([out] [retval] boolean* value);
                [propput] HRESULT IsWlanConnectionProfile([in] boolean value);
                [propget] HRESULT IsWlanConnectionProfile([out] [retval] boolean* value);
                [propput] HRESULT NetworkCostType([in] Windows.Networking.Connectivity.NetworkCostType value);
                [propget] HRESULT NetworkCostType([out] [retval] Windows.Networking.Connectivity.NetworkCostType* value);
                [propput] HRESULT ServiceProviderGuid([in] Windows.Foundation.IReference<GUID>* value);
                [propget] HRESULT ServiceProviderGuid([out] [retval] Windows.Foundation.IReference<GUID>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfileFilter)]
            [uuid(CD068EE1-C3FC-4FAD-9DDC-593FAA4B7885)]
            interface IConnectionProfileFilter2 : IInspectable
            {
                [propput] HRESULT IsRoaming([in] Windows.Foundation.IReference<boolean>* value);
                [propget] HRESULT IsRoaming([out] [retval] Windows.Foundation.IReference<boolean>** value);
                [propput] HRESULT IsOverDataLimit([in] Windows.Foundation.IReference<boolean>* value);
                [propget] HRESULT IsOverDataLimit([out] [retval] Windows.Foundation.IReference<boolean>** value);
                [propput] HRESULT IsBackgroundDataUsageRestricted([in] Windows.Foundation.IReference<boolean>* value);
                [propget] HRESULT IsBackgroundDataUsageRestricted([out] [retval] Windows.Foundation.IReference<boolean>** value);
                [propget] HRESULT RawData([out] [retval] Windows.Storage.Streams.IBuffer** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionProfileFilter)]
            [uuid(0AAA09C0-5014-447C-8809-AEE4CB0AF94A)]
            interface IConnectionProfileFilter3 : IInspectable
            {
                [propput] HRESULT PurposeGuid([in] Windows.Foundation.IReference<GUID>* value);
                [propget] HRESULT PurposeGuid([out] [retval] Windows.Foundation.IReference<GUID>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectionSession)]
            [uuid(FF905D4C-F83B-41B0-8A0C-1462D9C56B73)]
            interface IConnectionSession : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [propget] HRESULT ConnectionProfile([out] [retval] Windows.Networking.Connectivity.ConnectionProfile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectivityInterval)]
            [uuid(4FAA3FFF-6746-4824-A964-EED8E87F8709)]
            interface IConnectivityInterval : IInspectable
            {
                [propget] HRESULT StartTime([out] [retval] Windows.Foundation.DateTime* startTime);
                [propget] HRESULT ConnectionDuration([out] [retval] Windows.Foundation.TimeSpan* duration);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ConnectivityManager)]
            [uuid(5120D4B1-4FB1-48B0-AFC9-42E0092A8164)]
            interface IConnectivityManagerStatics : IInspectable
            {
                HRESULT AcquireConnectionAsync([in] Windows.Networking.Connectivity.CellularApnContext* cellularApnContext, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionSession*>** operation);
                HRESULT AddHttpRoutePolicy([in] Windows.Networking.Connectivity.RoutePolicy* routePolicy);
                HRESULT RemoveHttpRoutePolicy([in] Windows.Networking.Connectivity.RoutePolicy* routePolicy);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.DataPlanStatus)]
            [uuid(977A8B8C-3885-40F3-8851-42CD2BD568BB)]
            interface IDataPlanStatus : IInspectable
            {
                [propget] HRESULT DataPlanUsage([out] [retval] Windows.Networking.Connectivity.DataPlanUsage** value);
                [propget] HRESULT DataLimitInMegabytes([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT InboundBitsPerSecond([out] [retval] Windows.Foundation.IReference<UINT64>** value);
                [propget] HRESULT OutboundBitsPerSecond([out] [retval] Windows.Foundation.IReference<UINT64>** value);
                [propget] HRESULT NextBillingCycle([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propget] HRESULT MaxTransferSizeInMegabytes([out] [retval] Windows.Foundation.IReference<UINT32>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.DataPlanUsage)]
            [uuid(B921492D-3B44-47FF-B361-BE59E69ED1B0)]
            interface IDataPlanUsage : IInspectable
            {
                [propget] HRESULT MegabytesUsed([out] [retval] UINT32* value);
                [propget] HRESULT LastSyncTime([out] [retval] Windows.Foundation.DateTime* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("IDataUsage may be altered or unavailable for releases after Windows 8.1. Instead, use INetworkUsage.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.DataUsage)]
            [uuid(C1431DD3-B146-4D39-B959-0C69B096C512)]
            interface IDataUsage : IInspectable
            {
                [deprecated("IDataUsage may be altered or unavailable for releases after Windows 8.1. Instead, use INetworkUsage.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT BytesSent([out] [retval] UINT64* value);
                [deprecated("IDataUsage may be altered or unavailable for releases after Windows 8.1. Instead, use INetworkUsage.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT BytesReceived([out] [retval] UINT64* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.IPInformation)]
            [uuid(D85145E0-138F-47D7-9B3A-36BB488CEF33)]
            interface IIPInformation : IInspectable
            {
                [propget] HRESULT NetworkAdapter([out] [retval] Windows.Networking.Connectivity.NetworkAdapter** value);
                [propget] HRESULT PrefixLength([out] [retval] Windows.Foundation.IReference<BYTE>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.LanIdentifier)]
            [uuid(48AA53AA-1108-4546-A6CB-9A74DA4B7BA0)]
            interface ILanIdentifier : IInspectable
            {
                [propget] HRESULT InfrastructureId([out] [retval] Windows.Networking.Connectivity.LanIdentifierData** value);
                [propget] HRESULT PortId([out] [retval] Windows.Networking.Connectivity.LanIdentifierData** value);
                [propget] HRESULT NetworkAdapterId([out] [retval] GUID* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.LanIdentifierData)]
            [uuid(A74E83C3-D639-45BE-A36A-C4E4AEAF6D9B)]
            interface ILanIdentifierData : IInspectable
            {
                [propget] HRESULT Type([out] [retval] UINT32* value);
                [propget] HRESULT Value([out] [retval] Windows.Foundation.Collections.IVectorView<BYTE>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkAdapter)]
            [uuid(3B542E03-5388-496C-A8A3-AFFD39AEC2E6)]
            interface INetworkAdapter : IInspectable
            {
                [propget] HRESULT OutboundMaxBitsPerSecond([out] [retval] UINT64* value);
                [propget] HRESULT InboundMaxBitsPerSecond([out] [retval] UINT64* value);
                [propget] HRESULT IanaInterfaceType([out] [retval] UINT32* value);
                [propget] HRESULT NetworkItem([out] [retval] Windows.Networking.Connectivity.NetworkItem** value);
                [propget] HRESULT NetworkAdapterId([out] [retval] GUID* value);
                HRESULT GetConnectedProfileAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ConnectionProfile*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkInformation)]
            [uuid(5074F851-950D-4165-9C15-365619481EEA)]
            interface INetworkInformationStatics : IInspectable
            {
                HRESULT GetConnectionProfiles([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectionProfile*>** value);
                HRESULT GetInternetConnectionProfile([out] [retval] Windows.Networking.Connectivity.ConnectionProfile** value);
                HRESULT GetLanIdentifiers([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.LanIdentifier*>** value);
                HRESULT GetHostNames([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Networking.HostName*>** value);
                HRESULT GetProxyConfigurationAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Networking.Connectivity.ProxyConfiguration*>** value);
                HRESULT GetSortedEndpointPairs([in] Windows.Foundation.Collections.IIterable<Windows.Networking.EndpointPair*>* destinationList, [in] Windows.Networking.HostNameSortOptions sortOptions, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Networking.EndpointPair*>** value);
                [eventadd] HRESULT NetworkStatusChanged([in] Windows.Networking.Connectivity.NetworkStatusChangedEventHandler* networkStatusHandler, [out] [retval] EventRegistrationToken* eventCookie);
                [eventremove] HRESULT NetworkStatusChanged([in] EventRegistrationToken eventCookie);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkInformation)]
            [uuid(459CED14-2832-49B6-BA6E-E265F04786A8)]
            interface INetworkInformationStatics2 : IInspectable
            {
                HRESULT FindConnectionProfilesAsync([in] Windows.Networking.Connectivity.ConnectionProfileFilter* pProfileFilter, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Networking.Connectivity.ConnectionProfile*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkItem)]
            [uuid(01BC4D39-F5E0-4567-A28C-42080C831B2B)]
            interface INetworkItem : IInspectable
            {
                [propget] HRESULT NetworkId([out] [retval] GUID* value);
                HRESULT GetNetworkTypes([out] [retval] Windows.Networking.Connectivity.NetworkTypes* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkSecuritySettings)]
            [uuid(7CA07E8D-917B-4B5F-B84D-28F7A5AC5402)]
            interface INetworkSecuritySettings : IInspectable
            {
                [propget] HRESULT NetworkAuthenticationType([out] [retval] Windows.Networking.Connectivity.NetworkAuthenticationType* value);
                [propget] HRESULT NetworkEncryptionType([out] [retval] Windows.Networking.Connectivity.NetworkEncryptionType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkStateChangeEventDetails)]
            [uuid(1F0CF333-D7A6-44DD-A4E9-687C476B903D)]
            interface INetworkStateChangeEventDetails : IInspectable
            {
                [propget] HRESULT HasNewInternetConnectionProfile([out] [retval] boolean* value);
                [propget] HRESULT HasNewConnectionCost([out] [retval] boolean* value);
                [propget] HRESULT HasNewNetworkConnectivityLevel([out] [retval] boolean* value);
                [propget] HRESULT HasNewDomainConnectivityLevel([out] [retval] boolean* value);
                [propget] HRESULT HasNewHostNameList([out] [retval] boolean* value);
                [propget] HRESULT HasNewWwanRegistrationState([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkStateChangeEventDetails)]
            [uuid(D643C0E8-30D3-4F6A-AD47-6A1873CEB3C1)]
            interface INetworkStateChangeEventDetails2 : IInspectable
            {
                [propget] HRESULT HasNewTetheringOperationalState([out] [retval] boolean* value);
                [propget] HRESULT HasNewTetheringClientCount([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.NetworkUsage)]
            [uuid(49DA8FCE-9985-4927-BF5B-072B5C65F8D9)]
            interface INetworkUsage : IInspectable
            {
                [propget] HRESULT BytesSent([out] [retval] UINT64* value);
                [propget] HRESULT BytesReceived([out] [retval] UINT64* value);
                [propget] HRESULT ConnectionDuration([out] [retval] Windows.Foundation.TimeSpan* duration);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Networking.Connectivity.ProviderNetworkUsage)]
            [uuid(5EC69E04-7931-48C8-B8F3-46300FA42728)]
            interface IProviderNetworkUsage : IInspectable
            {
                [propget] HRESULT BytesSent([out] [retval] UINT64* value);
                [propget] HRESULT BytesReceived([out] [retval] UINT64* value);
                [propget] HRESULT ProviderId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.ProxyConfiguration)]
            [uuid(EF3A60B4-9004-4DD6-B7D8-B3E502F4AAD0)]
            interface IProxyConfiguration : IInspectable
            {
                [propget] HRESULT ProxyUris([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Foundation.Uri*>** value);
                [propget] HRESULT CanConnectDirectly([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.RoutePolicy)]
            [uuid(11ABC4AC-0FC7-42E4-8742-569923B1CA11)]
            interface IRoutePolicy : IInspectable
            {
                [propget] HRESULT ConnectionProfile([out] [retval] Windows.Networking.Connectivity.ConnectionProfile** value);
                [propget] HRESULT HostName([out] [retval] Windows.Networking.HostName** value);
                [propget] HRESULT HostNameType([out] [retval] Windows.Networking.DomainNameType* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.RoutePolicy)]
            [uuid(36027933-A18E-4DB5-A697-F58FA7364E44)]
            interface IRoutePolicyFactory : IInspectable
            {
                HRESULT CreateRoutePolicy([in] Windows.Networking.Connectivity.ConnectionProfile* connectionProfile, [in] Windows.Networking.HostName* hostName, [in] Windows.Networking.DomainNameType type, [out] [retval] Windows.Networking.Connectivity.RoutePolicy** routePolicy);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.WlanConnectionProfileDetails)]
            [uuid(562098CB-B35A-4BF1-A884-B7557E88FF86)]
            interface IWlanConnectionProfileDetails : IInspectable
            {
                HRESULT GetConnectedSsid([out] [retval] HSTRING* value);
            }

            [contract(Windows.Networking.Connectivity.WwanContract, 1.0)]
            [exclusiveto(Windows.Networking.Connectivity.WwanConnectionProfileDetails)]
            [uuid(0E4DA8FE-835F-4DF3-82FD-DF556EBC09EF)]
            interface IWwanConnectionProfileDetails : IInspectable
            {
                [propget] HRESULT HomeProviderId([out] [retval] HSTRING* value);
                [propget] HRESULT AccessPointName([out] [retval] HSTRING* value);
                HRESULT GetNetworkRegistrationState([out] [retval] Windows.Networking.Connectivity.WwanNetworkRegistrationState* value);
                HRESULT GetCurrentDataClass([out] [retval] Windows.Networking.Connectivity.WwanDataClass* value);
            }

            [contract(Windows.Networking.Connectivity.WwanContract, 2.0)]
            [exclusiveto(Windows.Networking.Connectivity.WwanConnectionProfileDetails)]
            [uuid(7A754EDE-A1ED-48B2-8E92-B460033D52E2)]
            interface IWwanConnectionProfileDetails2 : IInspectable
            {
                [propget] HRESULT IPKind([out] [retval] Windows.Networking.Connectivity.WwanNetworkIPKind* value);
                [propget] HRESULT PurposeGuids([out] [retval] Windows.Foundation.Collections.IVectorView<GUID>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass AttributedNetworkUsage
            {
                [default] interface Windows.Networking.Connectivity.IAttributedNetworkUsage;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CellularApnContext
            {
                [default] interface Windows.Networking.Connectivity.ICellularApnContext;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Networking.Connectivity.ICellularApnContext2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ConnectionCost
            {
                [default] interface Windows.Networking.Connectivity.IConnectionCost;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Connectivity.IConnectionCost2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ConnectionProfile
            {
                [default] interface Windows.Networking.Connectivity.IConnectionProfile;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Connectivity.IConnectionProfile2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Connectivity.IConnectionProfile3;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Networking.Connectivity.IConnectionProfile4;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Networking.Connectivity.IConnectionProfile5;
                [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Networking.Connectivity.IConnectionProfile6;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ConnectionProfileFilter
            {
                [default] interface Windows.Networking.Connectivity.IConnectionProfileFilter;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Connectivity.IConnectionProfileFilter2;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Networking.Connectivity.IConnectionProfileFilter3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ConnectionSession
            {
                [default] interface Windows.Networking.Connectivity.IConnectionSession;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ConnectivityInterval
            {
                [default] interface Windows.Networking.Connectivity.IConnectivityInterval;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Networking.Connectivity.IConnectivityManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass ConnectivityManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass DataPlanStatus
            {
                [default] interface Windows.Networking.Connectivity.IDataPlanStatus;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass DataPlanUsage
            {
                [default] interface Windows.Networking.Connectivity.IDataPlanUsage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [deprecated("DataUsage may be altered or unavailable for releases after Windows 8.1. Instead, use NetworkUsage.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass DataUsage
            {
                [default] interface Windows.Networking.Connectivity.IDataUsage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass IPInformation
            {
                [default] interface Windows.Networking.Connectivity.IIPInformation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LanIdentifier
            {
                [default] interface Windows.Networking.Connectivity.ILanIdentifier;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LanIdentifierData
            {
                [default] interface Windows.Networking.Connectivity.ILanIdentifierData;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NetworkAdapter
            {
                [default] interface Windows.Networking.Connectivity.INetworkAdapter;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Networking.Connectivity.INetworkInformationStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.Networking.Connectivity.INetworkInformationStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass NetworkInformation
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NetworkItem
            {
                [default] interface Windows.Networking.Connectivity.INetworkItem;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NetworkSecuritySettings
            {
                [default] interface Windows.Networking.Connectivity.INetworkSecuritySettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NetworkStateChangeEventDetails
            {
                [default] interface Windows.Networking.Connectivity.INetworkStateChangeEventDetails;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Connectivity.INetworkStateChangeEventDetails2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NetworkUsage
            {
                [default] interface Windows.Networking.Connectivity.INetworkUsage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ProviderNetworkUsage
            {
                [default] interface Windows.Networking.Connectivity.IProviderNetworkUsage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ProxyConfiguration
            {
                [default] interface Windows.Networking.Connectivity.IProxyConfiguration;
            }

            [activatable(Windows.Networking.Connectivity.IRoutePolicyFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass RoutePolicy
            {
                [default] interface Windows.Networking.Connectivity.IRoutePolicy;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WlanConnectionProfileDetails
            {
                [default] interface Windows.Networking.Connectivity.IWlanConnectionProfileDetails;
            }

            [contract(Windows.Networking.Connectivity.WwanContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass WwanConnectionProfileDetails
            {
                [default] interface Windows.Networking.Connectivity.IWwanConnectionProfileDetails;
                [contract(Windows.Networking.Connectivity.WwanContract, 2.0)] interface Windows.Networking.Connectivity.IWwanConnectionProfileDetails2;
            }
        }
    }
}
