自定义特定吸收率 (SAR) 映射表
你可以在注册表中配置和存储移动宽带调制解调器的特定吸收率 (SAR) 表。 当移动宽带调制解调器连接到 Windows 设备时,Windows 会自动使用该表将调制解调器的注册移动运营商 (MO) 的移动国家/地区代码 (MCC) 映射到其相应的 SAR 后退索引,并使用它配置调制解调器。
你可以选择在映像时或运行时配置注册表设置。 如果在映像部署时将包中的注册表设置生成到映像,SAR 映射表将在任意 OS 组件启动时立即就绪。 如果在设备启动后使用运行时组件配置注册表设置,请确保静态 SAR 配置不会被 Windows 安装或升级更改和/或擦除,同时与设备保持一致并独立于 OS 安装。
有关移动宽带调制解调器的 SAR 支持的更多详细信息,请参阅移动宽带特定吸收率平台支持。
下面概述了 Windows 如何根据自定义 SAR 映射表读取和配置调制解调器:
创建一个包,其中包含你的注册表设置,包括 SARMappingTable 和 SARConfiguration 的设置。
将包生成到设备的映像中。
Windows(特别是 WWAN 服务)将在启动时读取注册表,并存储设置以供以后在支持 SAR 的嵌入式调制解调器向特定 MO 注册时使用。
Windows 还会侦听注册表更改通知,以了解设置的注册表是否已更改。 这意味着你可以按照自己的方式在运行时添加和更改设置,Windows 将立即接受更改。
当调制解调器在运行时向 MO 注册时,Windows 会获取 MO 的 MCC,并从 SAR 映射表中找到相应的 SAR 后退索引。
然后,Windows 将使用移动宽带特定吸收率平台支持中定义的 MBIM 接口将 SAR 后退索引发送到调制解调器。
当调制解调器漫游到另一个国家/地区时,新 MO 的 MCC 将发生变化。 Windows 将再次使用新 MO 的 MCC 从 SAR 映射表中找到相应的 SAR 后退索引,并将其发送到调制解调器。
注册表位置和语法
用于生成和配置 SAR 映射表的注册表设置以独占方式驻留在基本注册表项下:
HKLM\OEM\Cellular\DeviceSpecific
在基本项下,有两个子项:
SARMappingTable:包含 SAR 后退索引映射表。
SARConfiguration:包含控制设置。
是否设置这些子项完全是可选的。 你可以在映像时提供静态 SAR 配置设置或在运行时更新任何静态设置。
注意
如果组件在运行时更新设置,则必须递增注册表值 ConfigurationVersion
中的配置版本号作为对注册表的最后一次写入。 每当更改 ConfigurationVersion
注册表值时,Windows 都会读取所有配置设置并使其生效。
SARMappingTable 子项
SARMappingTable
子项最多可以有 1000 个注册表值。 SAR 后退指数按国家/地区划分。 SAR 后退表可以支持每个国家/地区一个条目。 在这种情况下,国家/地区由标准 MCC(移动国家/地区代码)标识。
注意
值名称必须由表示 MCC 的三个十进制数字字符组成。 最多可以有 1000 个注册表值名称(从“000”到“999”)。
值名称 | 类型 | 数据 |
---|---|---|
表示 MCC 的三个十进制数字 | WCHAR 字符串 | WCHAR 字符串中以逗号分隔的十进制数,例如 0,2,5,8 。 这些数字表示 MCC 的 SAR 后退指数。 后退索引的序列对应于调制解调器中的天线阵列,天线的第一个后退索引在索引 0 处,天线的第二个后退索引在索引 1 处,依此类推。 对于只有一根天线的简单调制解调器,该字符串中只需要一个索引(例如“2”)来表示第一根也是唯一一根天线。 |
如果特定 MCC 的注册表值不存在,则将使用特殊注册表值 000
中的数据。 你可以将此默认值用于不需要特定后退索引的国家/地区。 如果 MCC 的注册表值和特殊注册表值 000
都不存在,则不会为 MCC 使用 SAR 索引。
SARConfiguration 子项
SARConfiguration
设置不会影响你使用调制解调器 DSI 消息通过服务的能力。 例如,SAR 代理可以使用现有 API(WWAN 服务 API 和/或相应的 WinRT API)实现 SAR 控制和映射的自定义设计。
对于 BackOffEnabled
和 ControlMode
设置,调制解调器 DSI 消息中的值优先。 如果调制解调器 DSI 消息通过 WWAN 服务,系统将保存这两个设置的值并在下次需要时使用(无论这些注册表设置的值是什么)。 如果注册表中的 BackOffEnabled
和 ControlMode
设置包含 0xFFFFFFFF
(无更改)并且没有调制解调器 DSI 消息通过,WWAN 服务将使用调制解调器中当前的值。 WWAN 服务在启动时查询调制解调器,以获取并记住调制解调器中的值。
值名称 | 类型 | 数据 |
---|---|---|
SARMappingTableEnabled | DWORD | 0 - SAR 映射表已禁用。 1 - SAR 映射表已启用。 如果数据不存在或无效,则应用默认值 0 。 |
BackoffEnabled | DWORD | 0 - SAR 后退已禁用。1 - SAR 后退已启用。 0xFFFFFFFF - 调制解调器应保留其当前的后退状态。 如果数据不存在或无效,则应用默认值 0xFFFFFFFF 。 |
ControlMode | DWORD | 0 - SAR 后退机制由调制解调器设备直接控制。 1 - SAR 后退机制由操作系统控制和管理。 0xFFFFFFFF - 调制解调器应保留其当前的控制状态。 如果数据不存在或无效,则应用默认值 0xFFFFFFFF 。 |
ConfigurationVersion | DWORD | 此注册表值是为 OEM 运行时组件设计的,用于通知 Windows SAR 映射表和其他参数已更新。 OEM 运行时组件必须在每次更新完 SAR 映射表或注册表中的其他参数时递增 ConfigurationVersion 注册表值。如果数据不存在或无效,运行时组件不会配置任何 SAR 注册表设置。 |