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,以便能够在调制解调器上查询和设置黑名单。 有两个黑名单:

  1. 不应允许 SIM 卡卡加入黑名单 – 不应允许其提供商是黑名单成员的 SIM 卡在任何网络上注册。
  2. 网络提供商黑名单 - 无论设备上存在什么 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 操作失败,因为更新请求失败。