计划架构
Plans 架构定义用于在移动网络运营商上描述订阅者的数据计划的元素 (MNO) 。 所有元素均在命名空间 中 http://www.microsoft.com/networking/CarrierControl/Plans/v1
。 并非所有元素都每个配置文件中,因为某些元素是可选的。
下表列出了此架构中按名称按字母顺序排序的所有元素。
元素 | 说明 |
---|---|
BillingCycle | 定义计划的开始日期和时间、持续时间,以及计费周期结束时发生的情况。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
DataLimitInMegabytes | 定义一个值,该值表示上限计划的数据限制(以 MB 为单位)。 必须是 0 到 232nd 的值。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
DataUsageInMobileOperatorNotificationEnabled | 指示 NetworkOperatorNotificationTrigger 是否应该 包含数据使用情况通知。 如果为 true,Windows达到数据使用阈值时引发此触发器。 |
说明 | 定义计划信息,指定订阅者的移动网络操作员 (MNO) 连接类型。 |
InboundBandwidthInKbps | 定义一个值,该值表示以 Kbps 为单位指定的订阅服务器入站连接的有效链接速度。 必须是 0 到 232nd 的值。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
MaxTransferSizeInMegabytes | 定义单个下载的大小(以 MB 为单位)符合要求的应用程序应允许通过按流量计费的连接,而无需显式用户批准所使用的连接。 必须是 0 到 232nd 的值。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
OutboundBandwidthInKbps | 定义一个值,该值表示以 Kbps 指定的订阅服务器出站连接的有效链接速度。 必须是 0 到 232nd 的值。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
规划 | 定义一组计划信息,指定订阅者与 MNO (移动网络运营商的连接的数据使用选项) 。 计划 是计划信息的唯一根元素 |
SecurityUpdatesExempt | 如果为 true,则 MNO Windows 更新 (WU) 在按流量计费的网络上时,安全更新不会计入订阅者计划的数据使用情况,WU 将下载所有安全修补程序。 否则,WU 将仅下载零日修补程序,而不是在 false 时下载所有 安全更新。 |
使用情况 | 定义订阅者在连接到移动网络运营商时的数据使用情况的状态 (MNO) 。 UWP 应用可以使用 DataPlanStatus 类检索 此信息。 |
UserSMSEnabled | 指示订阅者的服务是否包括必须以近实时方式传递的用户到用户短信。 如果为 true,Windows在移动宽带接口上采用不太主动的电源管理,以允许短信更快到达。 如果 为 false,则移动宽带无线电可能在非活动期间关闭。 当电脑下一次处于活动状态时,短信将到达。 |
完整的 Plans 架构如下所示:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.microsoft.com/networking/CarrierControl/Plans/v1"
elementFormDefault="qualified"
xmlns="http://www.microsoft.com/networking/CarrierControl/Plans/v1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:base="http://www.microsoft.com/networking/CarrierControl/Base/v1">
<xs:import namespace="http://www.microsoft.com/networking/CarrierControl/Base/v1"/>
<xs:complexType name="BillingCycleType">
<xs:attribute name="StartDate" type="xs:dateTime" use="required"/>
<xs:attribute name="Duration" use="required">
<xs:simpleType>
<xs:restriction base="xs:duration">
<xs:minExclusive value="PT0S"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Resets" type="xs:boolean" default="true"/>
</xs:complexType>
<xs:simpleType name="PlanType">
<xs:annotation>
<xs:documentation>
PlanType expresses the incremental cost of a plan:
- Unrestricted: There is no incremental cost for consumption on this plan
- Fixed: Consumption goes against a quota which the user has purchased / agreed to purchase
- Variable: The user will be billed for incremental usage on this plan
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Unrestricted"/>
<xs:enumeration value="Fixed"/>
<xs:enumeration value="Variable"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Plan">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element ref="Description"/>
<xs:element ref="Usage" minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element ref="Usage"/>
</xs:sequence>
</xs:choice>
<xs:attribute type="xs:string" name="Name" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Description" type="DescriptionBaseType"/>
<xs:complexType name="DescriptionBaseType">
<xs:sequence>
<xs:element name="BillingCycle" type="BillingCycleType" minOccurs="0"/>
<xs:element name="DataLimitInMegabytes" type="xs:positiveInteger" minOccurs="0"/>
<xs:element name="InboundBandwidthInKbps" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="OutboundBandwidthInKbps" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="MaxTransferSizeInMegabytes" type="xs:positiveInteger" minOccurs="0"/>
<xs:element name="SecurityUpdatesExempt" type="xs:boolean" default="false" minOccurs="0"/>
<xs:element name="DataUsageInMobileOperatorNotificationEnabled" type="xs:boolean" default="false" minOccurs="0"/>
<xs:element name="UserSMSEnabled" type="xs:boolean" default="true" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="PlanType" name="PlanType" use="required"/>
</xs:complexType>
<xs:element name="Usage" type="PlanUsageType"/>
<xs:complexType name="PlanUsageType">
<xs:attribute name="OverLimit" type="xs:boolean"/>
<xs:attribute name="Congested" type="xs:boolean"/>
<xs:attribute name="CurrentUsage" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="UsageTimestamp" type="xs:dateTime" use="required"/>
</xs:complexType>
</xs:schema>