移动宽带 Windows 运行时 API 的概述

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

API 说明

连接配置文件 API

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

设备服务扩展 API

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

预配 API

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

SIM PIN API

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

短信 API

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

订阅服务器和设备信息 API

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

USSD API

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

本主题中提供了以下部分:

移动宽带帐户 API

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

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

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

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

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

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

网络帐户 ID

网络帐户 ID 是移动宽带帐户的唯一标识符。 它提供统一的 ID,无需知道 ID 是来自 GSM、CDMA 还是 WiMAX 网络即可使用。 每当 Windows 遇到以前从未遇到过的硬件提供的网络订阅标识符时,Windows 都会生成网络帐户 ID。 以下列表标识每种受支持的网络类型的网络帐户 ID:

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

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

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

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

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

注意 例如,不是 UWP 应用的应用 (Win32 服务或桌面应用,) 无论网络服务提供商如何,都有权访问所有网络帐户。

移动宽带 WinRT API 概述