MB 低级别 UICC 访问

概述

移动宽带接口模型修订版 1.0(MBIM1)定义了主机设备和手机网络数据调制解调器之间的 OEM 和 IHV 不可知的接口。

MBIM1 函数包括 UICC 智能卡,并提供对其某些数据和内部状态的访问。 但是,智能卡可能具有 MBIM 接口定义的功能之外的其他功能。 这些附加功能包括支持基于近场通信的移动支付解决方案的安全元素,或者支持远程预配整个 UICC 配置文件。

在支持移动宽带的 Windows 设备中,除了单选接口层 (RIL) 接口之外,还使用 MBIM 接口。 RIL 提供的功能之一是用于对 UICC 进行低级别访问的接口。 本主题介绍 MBIM 的一组 Microsoft 扩展,这些扩展描述 MBIM 接口上的此附加功能。

Microsoft 扩展由一组设备服务命令组成, (设置和查询) 和通知。 这些扩展不包括设备服务流的任何新用途。

MBIM 服务和 CID 值

服务名称 UUID UUID 值
Microsoft Low-Level UICC 访问 UUID_MS_UICC_LOW_LEVEL C2F6588E-F037-4BC9-8665-F4D44BD09367

下表指定每个 CID 的命令代码,以及 CID 是否支持 Set、Query 或 Event (通知) 请求。 有关其参数、数据结构和通知的详细信息,请参阅本主题中每个 CID 的各个部分。

CID 命令代码 设置 查询 通知
MBIM_CID_MS_UICC_ATR 1 N Y N
MBIM_CID_MS_UICC_OPEN_CHANNEL 2 Y N N
MBIM_CID_MS_UICC_CLOSE_CHANNEL 3 Y N N
MBIM_CID_MS_UICC_APDU) 4 Y N N
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 5 Y Y N
MBIM_CID_MS_UICC_RESET 6 Y Y N

状态代码

MBIM 状态代码在 MBIM 标准的第 9.4.5 节中定义。 此外,还定义了以下附加的失败状态代码:

状态代码 值 (十六进制) 说明
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 87430001 逻辑通道打开失败,因为 UICC 上没有可用的逻辑通道 (它不支持它们,或者所有通道都在) 使用。
MBIM_STATUS_MS_SELECT_FAILED 87430002 逻辑通道打开失败,因为 SELECT 失败。
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 87430003 逻辑通道号无效, (MBIM_CID_MS_UICC_OPEN_CHANNEL) 未打开。

MBIM_SUBSCRIBER_READY_STATE

类型 说明
MBIMSubscriberReadyStateNoEsimProfile 7 卡已准备就绪,但没有任何已启用的配置文件。

UICC 响应和状态

UICC 可以实现基于字符的接口或基于记录的接口,或者同时实现这两者。 尽管特定机制不同,但结果是 UICC 使用两个状态字节来响应每个命令, (名为 SW1 和 SW2) ,响应 () 可能为空。 正常成功状态由 90 00 指示。 但是,如果 UICC 支持 卡 应用程序工具包,并且 UICC 希望向终端发送主动命令,则成功返回的状态为 91 XX (其中 XX) 变化。 MBIM 函数(或终端)负责处理此主动命令,就像处理任何其他 UICC 操作期间收到的主动命令一样, (向 UICC 发送 FETCH、处理主动命令或使用MBIM_CID_STK_PAC) 将其发送到主机。 当 MBIM 主机发送MBIM_CID_MS_UICC_OPEN_CHANNEL或MBIM_CID_MS_UICC_APDU它应将 90 00 和 91 XX 视为正常状态。

命令必须能够返回大于 256 字节的响应。 ISO/IEC 7816-4:2013 标准的第 5.1.3 节介绍了此机制。 在这种情况下,卡将返回 SW1 SW2 状态字数 61 XX,而不是 90 00,其中 XX 是剩余字节数,如果剩余的字节数为 256 个或更多字节,则返回 00。 调制解调器必须重复发出具有相同类字节的 GET RESPONSE,直到收到所有数据。 这将由最终状态字 90 00 指示。 序列必须在特定逻辑通道内不间断。 应在调制解调器处处理其他 APTU,并且对主机应透明。 如果在主机中处理,则不能保证在 APDU 序列期间,其他某些 APDU 可以异步引用卡。

与 IHVRIL 的比较

IHVRIL 规范的第 5.2.3.3.10 节到 5.2.3.3.14 节定义了此规范所基于的类似接口。 一些差异包括:

  • RIL 接口不提供指定安全消息传送的方法。 用于交换 APTU 的 MBIM 命令将此指定为显式参数。
  • RIL 接口未明确定义 APDU 中类字节的解释。 MBIM 规范指出,从主机发送的类字节必须存在,但不 (使用,MBIM 函数将构造此字节) 。
  • RIL 接口使用单独的函数来关闭组中的所有 UICC 通道,而 MBIM 接口使用单个 CID 的变体参数来实现此目的。
  • MBIM 错误状态与 UICC 状态 (SW1 SW2) 之间的关系比 RIL 错误与 UICC 状态之间的关系更明确。
  • MBIM 接口将分配新逻辑通道的失败与 SELECT 指定应用程序的失败区分开来。
  • MBIM 接口允许发送调制解调器终端功能对象以发送到卡。

MBIM_CID_MS_UICC_ATR

重置 (ATR) 是 UICC 在执行重置后发送的第一个字节字符串。 它描述了卡的功能,例如它支持的逻辑通道数。 MBIM 函数从 UICC 接收时必须保存 ATR。 随后,主机可以使用 MBIM_CID_MS_UICC_ATR 命令检索 ATR。

参数

类型 设置 查询 通知
命令 不适用 不适用
响应 不适用 MBIM_MS_ATR_INFO 不适用

查询

查询消息的 InformationBuffer 为空。

设置

不适用。

响应

MBIM_COMMAND_DONE 的 InformationBuffer 包含以下MBIM_MS_ATR_INFO结构,描述要重置此函数的 UICC 的答案。

MBIM_MS_ATR_INFO

Offset 大小 字段 类型 说明
0 4 AtrSize 大小 (0..33) AtrData 的长度。
4 4 AtrOffset OFFSET 从此结构的开头计算到包含 ATR 数据的名为 AtrData 的字节数组的偏移量(以字节为单位)。
8 AtrSize DataBuffer DATABUFFER AtrData 字节数组。

未经请求的事件

不适用。

状态代码

以下状态代码适用。

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_FAILURE 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_NO_DEVICE_SUPPORT 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_SIM_NOT_INSERTED 无法执行 UICC 操作,因为缺少 UICC。
MBIM_STATUS_BAD_SIM 无法执行 UICC 操作,因为 UICC 处于错误状态。
MBIM_STATUS_NOT_INITIALIZED 无法执行 UICC 操作,因为 UICC 尚未完全初始化。

MBIM_CID_MS_UICC_OPEN_CHANNEL

主机使用 MBIM_CID_MS_UICC_OPEN_CHANNEL 命令请求函数在 UICC 卡上打开一个新的逻辑通道,并选择由其应用程序 ID) 指定的指定 UICC 应用程序 (。

函数使用 UICC 命令序列实现此 MBIM 命令:

  1. ETSI TS 102 221 技术规范第 11.1.17 节所述,函数将 MANAGE CHANNEL 命令发送到 UICC,以创建新的逻辑通道。 如果此命令失败,函数将返回 SW1 SW2 的MBIM_STATUS_MS_NO_LOGICAL_CHANNELS状态,并且不采取进一步操作。
  2. 如果 MANAGE CHANNEL 命令成功,UICC 会将新逻辑通道的通道号报告给 函数。 函数发送一个 SELECT [by name] 命令,其中 P1 = 04,如 ETSI TS 102 221 技术规范的第 11.1.1 节所述。 如果此操作失败,函数会将 MANAGE CHANNEL 命令发送到 UICC 以关闭逻辑通道,并从 SELECT 返回 SW1 SW2 的MBIM_STATUS_MS_SELECT_FAILED状态。
  3. 如果 SELECT 命令成功,函数将记录主机指定的逻辑通道编号和通道组,以供将来参考。 然后,它将从 SELECT 返回逻辑通道号 SW1 SW2,以及 SELECT 向主机返回响应。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_UICC_OPEN_CHANNEL 不适用 不适用
响应 MBIM_MS_UICC_OPEN_CHANNEL_INFO 不适用 不适用

查询

不适用。

设置

MBIM_COMMAND_MSG 的 InformationBuffer 包含以下MBIM_MS_SET_UICC_OPEN_CHANNEL结构。

MBIM_MS_SET_UICC_OPEN_CHANNEL

Offset 大小 字段 类型 说明
0 4 AppIdSize SIZE (0..32) 应用程序 ID (AppId) 的大小。
4 4 AppIdOffset OFFSET 从此结构的开头计算到名为 AppId 的字节数组的偏移量(以字节为单位),该数组定义要 SELECTed 的 AppId。
8 4 SelectP2Arg UINT32 (0..255) SELECT 命令的 P2 参数。
12 4 ChannelGroup UINT32 标识此通道的通道组的标记值。
16 AppIdSize DataBuffer DATABUFFER AppId 字节数组。

响应

MBIM_COMMAND_DONE的 InformationBuffer 包含以下MBIM_MS_UICC_OPEN_CHANNEL_INFO结构。

MBIM_MS_UICC_OPEN_CHANNEL_INFO

Offset 大小 字段 类型 说明
0 4 状态 BYTE[2] SW1 和 SW2,按该字节顺序排列。 有关详细信息,请参阅此表后面的说明。
4 4 通道 UINT32 (0..19) 逻辑通道标识符。 如果此成员为 0,则操作失败。
8 4 ResponseLength 大小 (0..256) 响应长度(以字节为单位)。
12 4 ResponseOffset OFFSET 从此结构的开头计算到包含 SELECT 响应的名为 Response 的字节数组的偏移量(以字节为单位)。
16 - DataBuffer DATABUFFER 响应字节数组数据。

如果命令返回MBIM_STATUS_MS_NO_LOGICAL_CHANNELS,则 “状态” 字段应包含 MANAGE CHANNEL 命令中的 UICC 状态字 SW1 和 SW2,其余字段将为零。 如果命令返回MBIM_STATUS_MS_SELECT_FAILED,则 “状态” 字段应包含 SELECT 命令中的 UICC 状态字 SW1 和 SW2,其余字段将为零。 对于任何其他状态,InformationBuffer 应为空。

未经请求的事件

不适用。

状态代码

以下状态代码适用:

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_FAILURE 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_NO_DEVICE_SUPPORT 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_SIM_NOT_INSERTED 无法执行 UICC 操作,因为缺少 UICC。
MBIM_STATUS_BAD_SIM 无法执行 UICC 操作,因为 UICC 处于错误状态。
MBIM_STATUS_NOT_INITIALIZED 无法执行 UICC 操作,因为 UICC 尚未完全初始化。
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS 逻辑通道打开失败,因为 UICC 上没有可用的逻辑通道 (它不支持它们,或者所有通道都在) 使用。
MBIM_STATUS_MS_SELECT_FAILED 逻辑通道打开失败,因为 SELECT 失败。

MBIM_CID_MS_UICC_CLOSE_CHANNEL

主机将MBIM_CID_MS_UICC_CLOSE_CHANNEL发送到函数,以关闭 UICC 上的逻辑通道。 主机可以指定频道编号,也可以指定频道组。

如果主机指定通道号,该函数应检查此通道是否由以前的MBIM_CID_MS_UICC_OPEN_CHANNEL打开。 如果是这样,它应向 UICC 发送 MANAGE CHANNEL 命令以关闭通道,返回状态为 MBIM_STATUS_SUCCESS,并从 MANAGE CHANNEL 返回 SW1 SW2。 否则,它不应执行任何操作,并返回MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL失败状态。

如果主机指定了通道组,该函数将确定哪个 (是否使用该通道组打开了任何) 逻辑通道,并将 MANAGE CHANNEL 命令发送到每个此类通道的 UICC。 它返回与最后一个 MANAGE CHANNEL 的 SW1 SW2 MBIM_STATUS_SUCCESS状态。 如果未关闭通道,应返回 90 00。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_UICC_CLOSE_CHANNEL 不适用 不适用
响应 MBIM_MS_UICC_CLOSE_CHANNEL_INFO 不适用 不适用

查询

不适用。

设置

MBIM_COMMAND_MSG 的 InformationBuffer 包含以下MBIM_MS_SET_UICC_CLOSE_CHANNEL结构。

MBIM_MS_SET_UICC_CLOSE_CHANNEL

Offset 大小 字段 类型 说明
0 4 通道 UINT32 (0..19) 如果不是零,则指定要关闭的通道。 如果为零,则指定关闭与 ChannelGroup 关联的通道 () 。
4 4 ChannelGroup UINT32 如果 Channel 为零,则指定一个标记值,并关闭具有此标记的所有通道。 如果 Channel 为非零值,则忽略此字段。

响应

MBIM_COMMAND_DONE 的 InformationBuffer 包含以下MBIM_MS_UICC_CLOSE_CHANNEL_INFO结构。

MBIM_MS_UICC_CLOSE_CHANNEL_INFO

Offset 大小 字段 类型 说明
0 4 状态 BYTE[2] 函数代表此命令执行的最后一个 MANAGE CHANNEL 的 SW1 和 SW2。

未经请求的事件

不适用。

状态代码

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_FAILURE 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_NO_DEVICE_SUPPORT 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_SIM_NOT_INSERTED 无法执行 UICC 操作,因为缺少 UICC。
MBIM_STATUS_BAD_SIM 无法执行 UICC 操作,因为 UICC 处于错误状态。
MBIM_STATUS_NOT_INITIALIZED 无法执行 UICC 操作,因为 UICC 尚未完全初始化。
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 逻辑通道号 (无效,换句话说,它不是使用MBIM_CID_MS_UICC_OPEN_CHANNEL) 打开的。

MBIM_CID_MS_UICC_APDU

主机使用 MBIM_CID_MS_UICC_APDU 将命令 APDU 发送到 UICC 上的指定逻辑通道并接收响应。 MBIM 函数应确保逻辑通道以前使用 MBIM_CID_MS_UICC_OPEN_CHANNEL 打开,如果不是,则状态MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL失败。

主机必须向函数发送完整的 APDU。 可以使用 ISO/IEC 7816-4:2013 标准第 4 节第 4 节或 ETSI TS 102 221 技术规范第 10.1.1 节的扩展定义中定义的类字节值发送 APDU。 可以在不发送安全消息或安全消息的情况下发送 APDU。 命令标头未通过身份验证。 主机指定类字节的类型、逻辑通道号和安全消息传送以及 APDU。

命令 APDU 的第一个字节是类字节,按照 ISO/IEC 7816-4:2013 标准第 4 节或 ETSI TS 102 221 技术规范的第 10.1.1 节进行编码。 主机可以发送 0X、4X、6X、8X、CX 或 EX 类字节。 但是,函数不会将此字节直接传递到 UICC。 相反,在将 APDU 发送到 UICC 之前,函数会将主机中的第一个字节替换为编码为 ISO/IEC 7816-4:2013 标准第 4 节或 ETSI TS 102 221 技术规范) 第 10.1.1 节所定义的新类字节 (, 主机指定的通道和 SecureMessaging 值:

Byte 类 说明
0X 7816-4 跨业,1 <= 通道 <= 3,如果相关,以低咬合度对安全性进行编码
4X 7816-4 跨业,4 <= 通道 <= 19,无安全消息传递
6X 7816-4 跨业,4 <= 通道 <= 19,安全 (标头未经过身份验证)
8X 102 221 扩展,1<= 通道 <= 3,在低咬合度中编码安全性(如果相关)
CX 102 221 扩展,4 <= 通道 <= 19,无安全消息传送
EX 102 221 扩展,4 <= 通道 <= 19,安全 (标头未经过身份验证)

函数应将状态 SW1 SW2 以及 UICC 的响应返回到主机。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_UICC_APDU 不适用 不适用
响应 MBIM_MS_UICC_APDU_INFO 不适用 不适用

查询

不适用。

设置

MBIM_COMMAND_MSG 的 InformationBuffer 包含以下MBIM_MS_SET_UICC_APDU结构。

MBIM_MS_SET_UICC_APDU

Offset 大小 字段 类型 说明
0 4 通道 UINT32 (1..19) 指定将发送 APDU 的通道。
4 4 SecureMessaging MBIM_MS_UICC_SECURE_MESSAGING 指定是否使用安全消息传送交换 APDU。
8 4 类型 MBIM_MS_UICC_CLASS_BYTE_TYPE 指定类字节定义的类型。
12 4 CommandSize UINT32 (0..261) 命令长度(以字节为单位)。
16 4 CommandOffset OFFSET 从此结构的开头计算到包含 APDU 的 名为 Command 的字节数组的偏移量(以字节为单位)。
20 - DataBuffer DATABUFFER 命令字节数组。

MBIM_MS_SET_UICC_APDU 结构使用以下MBIM_MS_UICC_SECURE_MESSAGING和MBIM_MS_UICC_CLASS_BYTE_TYPE数据结构。

MBIM_MS_UICC_SECURE_MESSAGING
类型 说明
MBIMMsUiccSecureMessagingNone 0 没有安全的消息传送。
MBIMMsUiccSecureMessagingNoHdrAuth 1 安全消息传递,命令标头未通过身份验证。
MBIM_MS_UICC_CLASS_BYTE_TYPE
类型 说明
MBIMMsUiccInterindustry 0 根据 ISO 7816-4 中的第一个跨业定义定义。
MBIMMsUiccExtended 1 根据 ETSI 102 221 中的扩展定义。

响应

MBIM_COMMAND_DONE 的 InformationBuffer 包含以下MBIM_MS_UICC_APDU_INFO结构。

MBIM_MS_UICC_APDU_INFO

Offset 大小 字段 类型 说明
0 4 状态 BYTE[2] 命令生成的 SW1 和 SW2 状态字。
4 4 ResponseLength SIZE 响应长度(以字节为单位)。
8 4 ResponseOffset OFFSET 从此结构的开头计算到包含 SELECT 响应的名为 Response 的字节数组的偏移量(以字节为单位)。
12 - DataBuffer DATABUFFER 响应字节数组。

未经请求的事件

不适用。

状态代码

以下状态代码适用:

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_FAILURE 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_NO_DEVICE_SUPPORT 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_SIM_NOT_INSERTED 无法执行 UICC 操作,因为缺少 UICC。
MBIM_STATUS_BAD_SIM 无法执行 UICC 操作,因为 UICC 处于错误状态。
MBIM_STATUS_NOT_INITIALIZED 无法执行 UICC 操作,因为 UICC 尚未完全初始化。
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 逻辑通道号 (无效,换句话说,它不是使用MBIM_CID_MS_UICC_OPEN_CHANNEL) 打开的。

如果函数可以将 APDU 发送到 UICC,它将返回MBIM_STATUS_SUCCESS以及 SW1 SW2 状态字,如果有任何) ,UICC (的响应。 主机必须检查 SW1 SW2) (状态,以确定 APDU 命令在 UICC 上是否成功或失败的原因。

MBIM_CID_MS_UICC_TERMINAL_CAPABILITY

主机发送MBIM_CID_MS_UICC_TERMINAL_CAPABILITY,以通知调制解调器主机的功能。 ETSI TS 102 221 技术规范第 11.1.19 节中指定的终端功能 APDU 必须先发送到卡,然后才能选择第一个应用程序 ((如果支持) )。 因此,主机无法直接发送 TERMINAL CAPABILITY APDU,而是发送包含一个或多个终端功能对象的MBIM_CID_MS_UICC_TERMINAL_CAPABILITY命令,这些对象将由调制解调器持久存储。 在下一卡插入或重置时,在 ATR 之后,调制解调器将选择 MF 并检查终端功能是否受支持。 如果是这样,调制解调器将使用 MBIM_CID_MS_UICC_TERMINAL_CAPABILITY 命令指定的信息以及任何调制解调器生成的信息发送 TERMINAL CAPABILITY APDU。

参数

Operation 设置 查询 通知
命令 MBIM_MS_SET_UICC_TERMINAL_CAPABILITY 不适用
响应 不适用 MBIM_MS_TERMINAL_CAPABILITY_INFO 不适用

查询

InformationBuffer 应为 null,InformationBufferLength 应为零。

设置

MBIM_COMMAND_MSG 的 InformationBuffer 包含以下MBIM_MS_SET_UICC_TERMINAL_CAPABILITY结构。

MBIM_MS_SET_UICC_TERMINAL_CAPABILITY

Offset 大小 字段 类型 说明
0 4 ElementCount UINT32 终端功能对象的元素计数。
4 8*EC CapabilityList OL_PAIR_LIST 每个终端功能对象 TLV 的偏移长度对列表。
4+8*EC - DataBuffer DATABUFFER 实际终端功能对象 TLV 的字节数组。

响应

响应将包含确切的 SET 命令,其中包含最后一个发送到调制解调器的终端功能对象。 因此,MBIM_MS_TERMINAL_CAPABILITY_INFO与MBIM_MS_SET_UICC_TERMINAL_CAPABILITY相同。

MBIM_MS_TERMINAL_CAPABILITY_INFO

Offset 大小 字段 类型 说明
0 4 ElementCount UINT32 终端功能对象的元素计数。
4 8*EC CapabilityList OL_PAIR_LIST 每个终端功能对象 TLV 的偏移长度对列表。
4+8*EC - DataBuffer DATABUFFER 实际终端功能对象 TLV 的字节数组。

未经请求的事件

不适用。

状态代码

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_FAILURE 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_NO_DEVICE_SUPPORT 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_SIM_NOT_INSERTED 无法执行 UICC 操作,因为缺少 UICC。
MBIM_STATUS_BAD_SIM 无法执行 UICC 操作,因为 UICC 处于错误状态。
MBIM_STATUS_NOT_INITIALIZED 无法执行 UICC 操作,因为 UICC 尚未完全初始化。
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL 逻辑通道号 (无效,换言之,它不是使用MBIM_CID_MS_UICC_OPEN_CHANNEL) 打开的。

MBIM_CID_MS_UICC_RESET

主机将MBIM_CID_MS_UICC_RESET发送到 MBIM 函数以重置 UICC 或查询函数的传递状态。

当主机请求函数重置 UICC 时,它会指定传递操作。

如果主机指定 MBIMMsUICCPassThroughEnable 传递操作,则函数将重置 UICC,并在 UICC 通电后将 UICC 视为处于直通模式,该模式启用主机与 UICC (之间的通信,即使 UICC 没有电信 UICC 文件系统) 也是如此。 函数不会向卡发送任何 APTU,并且不会随时干扰主机与 UICC 之间的通信。

如果主机指定 MBIMMsUICCPassThroughDisable 传递操作,则函数将重置 UICC,并在 UICC 通电后将 UICC 视为常规 Telecom UICC,并期望 UICC 上存在一个电信 UICC 文件系统。

当主机查询函数以确定传递状态时,如果函数响应 MBIMMsUICCPassThroughEnabled 状态,则表示已启用传递模式。 如果函数以 MBIMMsUICCPassThroughDisabled 状态响应,则表示传递模式已禁用。

参数

类型 设置 查询 通知
命令 MBIM_MS_SET_UICC_RESET 不适用
响应 MBIM_MS_UICC_RESET_INFO MBIM_MS_UICC_RESET_INFO 不适用

查询

InformationBuffer 应为 null, InformationBufferLength 应为零。

设置

MBIM_SET_MS_UICC_RESET

MBIM_SET_MS_UICC_RESET 结构包含主机指定的直通操作。

Offset 大小 字段 类型 说明
0 4 PassThroughAction MBIM_MS_UICC_PASSTHROUGH_ACTION 有关详细信息,请参阅 MBIM_MS_UICC_PASSTHROUGH_ACTION

MBIM_MS_UICC_PASSTHROUGH_ACTION

MBIM_MS_UICC_PASSTHROUGH_ACTION 枚举定义主机可向 MBIM 函数指定的传递操作的类型。

类型
MBIMMsUiccPassThroughDisable 0
MBIMMsUiccPassThroughEnable 1

响应

MBIM_MS_UICC_RESET_INFO

MBIM_MS_UICC_RESET_INFO 结构包含 MBIM 函数的传递状态。

Offset 大小 字段 类型 说明
0 4 PassThroughStatus MBIM_MS_UICC_PASSTHROUGH_STATUS 有关详细信息,请参阅 MBIM_MS_UICC_PASSTHROUGH_STATUS

MBIM_MS_UICC_PASSTHROUGH_STATUS

MBIM_MS_UICC_PASSTHROUGH_STATUS 枚举定义 MBIM 函数为主机指定的直通状态的类型。

类型
MBIMMsUiccPassThroughDisabled 0
MBIMMsUiccPassThroughEnabled 1

未经请求的事件

不适用。

状态代码

状态代码 说明
MBIM_STATUS_SUCCESS 为所有命令定义的基本 MBIM 状态。
MBIM_STATUS_BUSY 设备正忙。
MBIM_STATUS_FAILURE 此操作失败。
MBIM_STATUS_NO_DEVICE_SUPPORT 设备不支持此操作。

OID_WWAN_UICC_RESET

OID_WWAN_UICC_RESET MBIM_CID_MS_UICC_RESET的 NDIS 等效项。