MB 网络阻止列表操作
重要
无偏差通信
Microsoft 支持多样化且包容的环境。 本文包含 Microsoft 无偏见通信风格指南 识别为排除性的术语的引用。 为了保持一致性,本文使用了单词或短语,因为它当前出现在软件中。 当软件更新为删除语言时,本文将更新为一致。
在各种情况下,设备可能需要不注册到网络,例如插入特定 SIM 卡卡时,或者设备不想注册到特定网络。 为了解决这些情况,Windows 10版本 1703 将添加调制解调器接口,使 OS 能够配置 SIM 卡和网络提供商的黑名单。
操作系统可以随时在调制解调器中配置 MCC/MNC 对,以指定不允许设备注册到的 SIM 或网络。 接口足够灵活,允许两个不同的列表,一个用于 SIM 提供商,另一个用于网络提供程序。 如果设备由于特定 SIM 或网络提供商被列入黑名单而未尝试注册,则调制解调器必须将注册状态报告为“已拒绝”。
网络黑名单操作的 MB 接口更新
已创建新的 MBIM 命令,使 OS 能够查询和设置 MCC 和 MNC 对,当设备上存在匹配的 SIM 卡或网络提供程序时,调制解调器不应尝试注册。 对于此命令,新的 MSFT 专有 CID 已定义为MBIM_CID_MS_NETWORK_BLACKLIST。
服务名称 = 基本连接扩展
UUID = UUID_BASIC_CONNECT_EXTENSIONS
UUID 值 = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
CID | 命令代码 | 最低操作系统版本 |
---|---|---|
MBIM_CID_MS_NETWORK_BLACKLIST | 2 | Windows 10 版本 1703 |
MBIM_CID_MS_NETWORK_BLACKLIST
说明
企业、用户或移动运营商可以指定他们不希望调制解调器注册的 SIM 卡和网络。 此命令用于 OS,以便能够在调制解调器上查询和设置黑名单。 有两个黑名单:
- 不应允许 SIM 卡卡加入黑名单 – 不应允许其提供商是黑名单成员的 SIM 卡在任何网络上注册。
- 网络提供商黑名单 - 无论设备上存在什么 SIM 卡卡,都不应允许加入黑名单的网络进行注册。
调制解调器必须维护每个调制解调器的黑名单,并在 SIM 交换和电源周期之间保持一致。 无论 SIM 状态如何,都可以随时使用 Query 或 Set 访问这两个黑名单。
对于 Set 命令,应使用 Set 命令的有效负载覆盖调制解调器中的现有黑名单。
查询
MBIM_MS_NETWORK_BLACKLIST_INFO是从 InformationBuffer 中已完成的“查询”和“设置”消息返回的。 对于查询,InformationBuffer 为 NULL。
设置
对于 Set,InformationBuffer 包含MBIM_MS_NETWORK_BLACKLIST_INFO。 在 Set 操作中,应向调制解调器提供 MNC/MCC 组合的列表。 当 SIM 卡的 IMSI 与指定的 MNC 和 MCC 值匹配时,调制解调器应从网络取消注册,并且不应尝试重新注册,直到插入与 MNC/MCC 不匹配的新 SIM 卡。
未经请求的事件
如果任何黑名单状态已从已执行状态更改为未执行,则预期会出现未经请求的事件,反之亦然:例如,如果插入了一个 SIM 卡,其提供程序与 SIM 提供商黑名单匹配。
参数
Operation | 设置 | 查询 | 通知 |
---|---|---|---|
命令 | MBIM_MS_NETWORK_BLACKLIST_INFO | 不适用 | 不适用 |
响应 | MBIM_MS_NETWORK_BLACKLIST_INFO | MBIM_MS_NETWORK_BLACKLIST_INFO | MBIM_MS_NETWORK_BLACKLIST_INFO |
数据结构
查询
InformationBuffer 应为 NULL,InformationBufferLength 应为零。
设置
在 InformationBuffer 中应使用以下MBIM_MS_NETWORK_BLACKLIST_INFO结构。
Offset | 大小 | 字段 | 类型 | 说明 |
---|---|---|---|---|
0 | 4 | BlacklistState | MBIM_MS_NETWORK_BLACKLIST_STATE | 指示是否满足导致调制解调器未注册到网络的任何黑名单条件。 有关详细信息,请参阅MBIM_MS_NETWORK_BLACKLIST_STATE表。 |
4 | 4 | ElementCount (EC) | UINT32 | DataBuffer 中后续MBIM_MS_NETWORK_BLACKLIST_PROVIDER结构的计数。 |
8 | 8 * EC | BlacklistProviderRefList | OL_PAIR_LIST | 对的第一个元素是 4 字节偏移量,从此MBIM_MS_NETWORK_BLACKLIST_INFO结构的起始偏移量 (偏移量 0) 到MBIM_MS_NETWORK_BLACKLIST_PROVIDER结构计算。 有关详细信息,请参阅MBIM_MS_NETWORK_BLACKLIST_PROVIDER表。 对的第二个元素是指向相应MBIM_MS_NETWORK_BLACKLIST_PROVIDER结构的指针的 4 字节大小。 |
8 + (8 * EC) | DataBuffer | DATABUFFER | MBIM_MS_NETWORK_BLACKLIST_PROVIDER 结构的数组。 |
上表使用以下数据结构。
MBIM_MS_NETWORK_BLACKLIST_STATE描述了两个不同黑名单的可能状态。
类型 | Mask | 说明 |
---|---|---|
MbimMsNetworkBlacklistStateNotActuated | 0h | 这两个黑名单条件都不满足。 |
MbimMsNetworkBlacklistSIMProviderActuated | 1h | 插入的 SIM 卡已列入黑名单,因为其提供程序 ID 与 SIM 卡提供商 ID 的黑名单匹配。 |
MbimMsNetworkBlacklistNetworkProviderActuated | 2 小时 | 可用网络已列入黑名单,因为它们的提供程序 ID 都在网络提供商 ID 的黑名单中。 |
MBIM_MS_NETWORK_BLACKLIST_PROVIDER指定黑名单的提供程序。
Offset | 大小 | 字段 | 类型 | 说明 |
---|---|---|---|---|
0 | 4 | MCC | UINT32 | MCC 由 3GPP 指定,是 IMSI 的一部分,并指定提供程序的国家/地区。 |
4 | 4 | MNC | UINT32 | 如 3GPP 所指定,MNC 是 IMSI 的一部分,并指定提供程序的网络。 |
8 | 4 | NetworkBlacklistType | MBIM_MS_NETWORK_BLACKLIST_TYPE | 指定使用 MCC/MNC 对的黑名单类型。 有关详细信息,请参阅 MBIM_MS_NETWORK_BLACKLIST_TYPE 表。 |
MBIM_MS_NETWORK_BLACKLIST_TYPE由前面的数据结构使用。 它指定将使用两个黑名单中的哪一个。
类型 | 值 | 说明 |
---|---|---|
MbimMsNetworkBlacklistTypeSIM | 0 | MCC/MNC 对用于 SIM 提供商黑名单。 |
MbimMsNetworkBlacklistTypeNetwork | 1 | MCC/MNC 对用于网络提供商黑名单。 |
响应
有关详细信息,请参阅 MBIM_MS_NETWORK_BLACKLIST_INFO 表。
状态代码
对于查询和设置操作:
状态代码 | 说明 |
---|---|
MBIM_STATUS_READ_FAILURE | 操作失败,因为设备无法检索预配的上下文。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | 操作失败,因为设备不支持此操作。 |
仅对于 Set 操作:
状态代码 | 说明 |
---|---|
MBIM_STATUS_INVALID_PARAMETERS | 由于参数无效,操作失败。 |
MBIM_STATUS_WRITE_FAILURE | 操作失败,因为更新请求失败。 |