移动宽带 Windows 运行时 API 概述

下表列出了用于创作移动宽带应用的 API。

API(应用程序编程接口) DESCRIPTION

连接配置文件 API

提供有关连接状态的信息(例如,连接到 Internet)

设备服务扩展 API

启用特定于设备的扩展,例如 SIM 工具包和首选漫游列表 (PRL) 下载。

预配 API

使你能够使用帐户预配数据和数据使用情况信息来预配 Windows。

SIM PIN API

使你能够启用、禁用或更改 SIM 卡 PIN。

SMS API

提供实现 SMS 客户端所需的函数。

订阅者和设备信息 API

为移动宽带设备的 SIM 和设备信息提供订阅者信息。

USSD API

使你能够与网络(客户端和网络发起)建立非结构化补充服务数据(USSD)会话。

移动宽带帐户 API

由于它具有可用于获取有关客户的个人身份信息并更改移动宽带设备上的网络设置的方法,因此移动宽带帐户 API 是特权 API。 这意味着,大多数 UWP 应用在收到“拒绝访问”错误的情况下无法调用其方法。 若要能够调用此 API,UWP 应用必须满足以下条件:

  • 应用必须具有与之关联的设备元数据或服务元数据包,并且它必须列在包内 SoftwareInfo.xml 文件的 PrivilegedApplications XML 元素中。 包不必是应用程序的独占包;任何特定的 UWP 应用都可以在多个包的 PrivilegedApplications 元素中列出。 该包必须与计算机上至少处于活动状态一次的移动宽带设备的服务提供商相关联,以便安装该包。

  • 应用程序的 appxmanifest 文件需要一个 <DeviceCapability> 条目,用于支持移动宽带帐户 API。 为此,可以在应用程序的 appxmanifest 文件中将以下 XML 元素添加为 Capabilities> 元素的<子元素:

    <DeviceCapability Name="BFCD56F7-3943-457F-A312-2E19BB6DC648" />
    

    有关 Capabilities> 元素的详细信息<,请参阅适用于 Windows 8 的应用清单文件

注释

非 UWP 应用(例如,Microsoft Win32 服务或桌面应用)的应用程序对移动宽带帐户 API 的访问权限不受限制。 这是因为这些应用程序可以使用现有的 Win32 和组件对象模型 (COM) API 来完全访问移动宽带网络。 无法从 UWP 应用使用这些 API。

网络账户标识

网络帐户 ID 是移动宽带帐户的唯一标识符。 它提供了一个统一的 ID,无需知道 ID 是否来自 GSM、CDMA 或 WiMAX 网络。 Windows 在遇到以前未遇到的由硬件提供的网络订阅标识符时,将生成网络帐户 ID。 以下列表标识每个受支持的网络类型的网络帐户 ID:

  • GSM 网络:SIM 的 ICCID 用于区分订阅。

  • CDMA 网络:使用移动标识号(MIN)。

当 Windows 首次遇到上述网络类型之一时,它会创建新的网络帐户 ID 并将其映射到硬件提供的订阅标识符的 SHA-256 哈希,然后将这两种 ID 存储在注册表中。 相反,如果 Windows 在注册表中找到硬件提供的订阅标识符的哈希,则它使用与该哈希关联的网络帐户 ID。 网络帐户 ID 应全局唯一(它们基于 GUID),但由于存储的内容是硬件提供的标识符的哈希,因此在尝试将网络帐户 ID 映射回生成的 ICCID 或 MIN 时,必须存在网络硬件。

重要 即使从网络帐户 ID 获取 ICCID 需要访问用于将计算机和网络设备映射到一起的网络设备,但网络帐户 ID 会唯一标识单个用户。 因此,我们建议你在处理个人身份信息时,遵循组织的相关政策。

网络帐户 ID 由移动网络运营商(MNO)隔离,因此,如果最终用户同时安装了 Provider1 和 Provider2 移动宽带设备及其相应的移动宽带应用,Provider1 应用将无法使用任何 Provider2 网络帐户 ID,反之亦然。 返回所有网络帐户 ID 的函数将仅返回应用程序调用函数的 MNO 的网络帐户 ID。 尝试使用属于其他 MNO 的网络帐户 ID 将导致“访问被拒绝”错误。

注释

不是 UWP 应用(例如 Win32 服务或桌面应用)的应用有权访问所有网络帐户,而不考虑网络服务提供商。

连接配置文件 API